2

Phonegap アプリを作成しています。私のアプリでは、「Android」と「ios」に異なる css を使用しているため、android の場合にのみ css をロードする必要があります。次のコードは完全に機能しますが、最初は css なしでページが読み込まれ、phonegap が読み込まれた後に css が読み込まれ、そのページを表示するたびに踊るページが表示されます (つまり、ページが表示された後に css が読み込まれます)。ページが表示される前に css を追加しますが、それは Android プラットフォームの場合のみです。

     <script type="text/javascript" >
     var string;
     // Wait for PhoneGap to load 
     document.addEventListener("deviceready", onDeviceReady, false);

     // PhoneGap is loaded and it is now safe to make calls PhoneGap methods
     function onDeviceReady() 
     {
       check_img();
    }

   function check_img() 
   {
     string = device.platform;
    if(string=="Android")
    {
      var head  = document.getElementsByTagName('head')[0];
      var link  = document.createElement('link');
      //link.id   = cssId;
      link.rel  = 'stylesheet';
      link.type = 'text/css';
      link.href = 'css/style.css';
      //link.media = 'all';
      head.appendChild(link);
    }
    } 
    </script>
4

1 に答える 1

1

ここで答えを見つけました。 http://simonmacdonald.blogspot.in/2012/04/phonegap-android-splashscreen-just-got.html

スプラッシュ画面をセットアップするときは、mainactivity.java ファイルで次のことを行います。

    super.setIntegerProperty("splashscreen", R.drawable.splash);
    super.loadUrl("file:///android_asset/www/index.html", 10000);

これにより、スプラッシュ スクリーンが 10 秒間表示された後、index.html ページが読み込まれます。私がその時言ったことに注意してください。そうです、スプラッシュ スクリーンがブロッキング コールであることを示しています。スプラッシュ スクリーンが表示されている間、.html/.js/.css はバックグラウンドで読み込まれません。スプラッシュ スクリーンが 1 つのスレッドに表示され、アプリケーションが別のスレッドのスプラッシュ スクリーンの下にロードされるように、すべてが変更されます。一番いいのは、コードを変更する必要がないことです。いつものようにスプラッシュ画面を呼び出し続けてください。

于 2012-09-05T11:52:13.250 に答える