如何将应用程序预加载器/启动屏幕/启动画面添加到My PhoneGap Android App

时间:2011-05-03 06:07:38

标签: android cordova

我已经使用手机Gap创建了一个Android应用程序。它运行正常。如何向我的应用程序添加预加载器图像。现在它在加载应用程序时显示白页。

非常感谢帮助, 谢谢, VKS。

3 个答案:

答案 0 :(得分:18)

如果您的意思是预加载器图像有Splash屏幕,请参阅以下代码;

对于PhoneGap:

public class MyDefaultActivity extends Activity {

   public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        super.setIntegerProperty("splashscreen", R.drawable.splash); // Displays the splash screen for android
        super.loadUrl("file:///android_asset/www/index.html",3000); // Second parameter is duration for delay of splash screen
    }
}

对于Android原生应用

public class MySplashScreen extends Activity {
    private CountDownTimer lTimer;

    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.splashscreen); // Contains only an LinearLayout with backround as image drawable

        lTimer = new CountDownTimer(5000, 1000) {
            public void onFinish() {
                closeScreen();
            }
            @Override
            public void onTick(long millisUntilFinished) {
                // TODO Auto-generated method stub
            }
        }.start();
    }

    private void closeScreen() {
        Intent lIntent = new Intent();
        lIntent.setClass(this, MyLauncherActivity.class);
        startActivity(lIntent);
        finish();
    }
}

确保名为splash.png的文件显示为res/drawable-hdpi/splash.png(RGBA)。

答案 1 :(得分:4)

您可以创建一个AsyncTask实现,用于在后台线程中加载应用程序的数据时显示图像/进度指示器。

  1. 在异步任务的onPreExecute中 您显示所选预加载器的方法 (image / ProgressDialog / etc)
  2. doInBackground方法中你 开始加载必要的数据, 和
  3. onPostExecute方法中你 删除/隐藏你的预加载器,所以 活动的理想布局将是 所示。

答案 2 :(得分:0)

如果预加载器图像是指大图像的低分辨率版本,则可以使用带有两个ImageView的VewSwitcher:一个图像视图包含预加载器图像,而另一个图像视图包含完整图像(虽然它已装载)。最初,您可以使预加载的图像可见,但是当大位图完成加载时,您只需使用switcher.showNext()来显示完整图像。

关于ViewSwitcher的一些进一步阅读(示例做了类似的事情):here