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 不会在后台加载。好吧,这一切都在改变,因此您的启动屏幕显示在一个线程上,而您的应用程序在另一个线程的启动屏幕下方加载。最好的事情是您不需要对代码进行任何更改。像往常一样继续调用启动画面。

于 2012-09-05T11:52:13.250 回答