Android - 如何显示启动屏幕以涵盖初始处理?

时间:2014-03-29 03:35:52

标签: android eclipse

我有一个Android应用程序,在应用程序启动时执行大约30秒的重载数字运算。如何显示在初始处理结束时消失的屏幕?

我目前所做的是:

我的activity_main.xml的最顶层视图是一个ViewAnimator,它(现在)有两个子视图 - 主视图,一个FrameLayout,当前是一个填充屏幕的白色背景,一个子文本视图,带有& #34;处理..."在它上面。

我的MainActivity.java的onCreate()方法调用用户定义的方法doInitialProcessing(); doInitialProcessing调用ViewAnimator的setDisplayedChild方法来显示" Processing"查看,然后进行数字运算,然后再次调用setDisplayedChild来显示主视图。

在Eclipse Emulator中,通常会发生的情况是,屏幕首先变为白色,然后变为黑色,然后出现主视图。 (偶尔会出现"处理......"文本。)

这是正确的方法吗?将setDisplayedChild的初始调用显示在一个单独的线程中?从onCreate调用它的事实是否与它有关?

2 个答案:

答案 0 :(得分:1)

有两种方法可以做到:

  • 使用启动布局创建常规活动,并使用计时器启动其他活动。 (这样,你无法在第二个活动中加载数据)
  • 另一种方法是创建一个启动片段,在内容加载到后台时显示几秒钟。

    我使用以下计时器从SPlash活动开始我的活动。这也可以用在片段中:

     new Handler().postDelayed(new Runnable() {
        @Override
        public void run() {
            Intent in = new Intent(SplashActivity.this, HomeActivity.class);               
            startActivity(in);
            finish();
        }
    }, SPLASH_TIME_OUT);
    

SPLASH_TIME_OUT是整数值的延迟。 (1000秒)

答案 1 :(得分:0)

您可以使用Splash Screen显示类似应用徽标的内容,例如应用程序在数字上大肆宣传。Here是创建Splash Screens的好教程你也可以阅读this StackOverflow问题。

相关问题