我有一个Android应用程序,在应用程序启动时执行大约30秒的重载数字运算。如何显示在初始处理结束时消失的屏幕?
我目前所做的是:
我的activity_main.xml的最顶层视图是一个ViewAnimator,它(现在)有两个子视图 - 主视图,一个FrameLayout,当前是一个填充屏幕的白色背景,一个子文本视图,带有& #34;处理..."在它上面。
我的MainActivity.java的onCreate()方法调用用户定义的方法doInitialProcessing(); doInitialProcessing调用ViewAnimator的setDisplayedChild方法来显示" Processing"查看,然后进行数字运算,然后再次调用setDisplayedChild来显示主视图。
在Eclipse Emulator中,通常会发生的情况是,屏幕首先变为白色,然后变为黑色,然后出现主视图。 (偶尔会出现"处理......"文本。)
这是正确的方法吗?将setDisplayedChild的初始调用显示在一个单独的线程中?从onCreate调用它的事实是否与它有关?
答案 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)