【发布时间】:2017-03-19 20:03:48
【问题描述】:
我的 Android 应用程序的 MainActivity 需要很长时间才能加载。所以,我想制作一个启动画面,它会一直显示到MainActivity 完成加载,即:MainActivity 的onCreate 方法的所有工作都完成了,之后必须关闭启动画面并且@987654325 @启动。此外,启动画面上有动画。
Splash Screen 的 onCreate 方法是:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_splash);
ImageView imageView = (ImageView) findViewById(R.id.circle);
final Animation startRotateAnimation = AnimationUtils.loadAnimation(this, R.anim.android_rotate_animation);
startRotateAnimation.setRepeatCount(Animation.INFINITE);
imageView.startAnimation(startRotateAnimation);
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
Intent i = new Intent(SplashActivity.this, MainActivity.class);
startActivity(i);
// close this activity
finish();
}
}, SPLASH_TIME_OUT);
}
上述代码中的SplashScreen将在SPLASH_TIME_OUT指定的时间后结束,这是一个固定的整数常数。
和android_rotate_animation.xml是:
<rotate
xmlns:android="http://schemas.android.com/apk/res/android"
android:fromDegrees="0"
android:interpolator="@android:anim/linear_interpolator"
android:toDegrees="360"
android:pivotX="50%"
android:pivotY="50%"
android:duration="3000"
android:startOffset="0"
/>
我应该如何让 SplashScreen 只显示到 MainActivity 完成加载?
由于项目限制,我无法将多个图像文件用于动画。
SplashScreen 的作用类似于加载屏幕。动画将在其上播放(如加载栏),直到 MainActivity 完成加载,之后 MainActicity 将启动。
【问题讨论】:
标签: java android android-animation splash-screen