アクティビティ間にスプラッシュ スクリーンを表示しようとしています。このために、ImageView をロードし、一定時間後に可視性を GONE に設定するハンドラーを使用しています。
もう少し派手にして、loadAnimation でアニメーション化したかったのです。私が直面している問題は、ハンドラーが終了するとアニメーションが停止しますが、読み込み中の画像が画面から削除されないことです。代わりに、アクティビティ全体の背景として配置されます。
ハンドラーが停止した後にスプラッシュ画像を削除する方法を知りたいです。
以下は私のコードです:
private static final long SPLASHTIME = 3000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main)
ImageView splash = (ImageView)findViewById(R.id.splashscreen);
final Animation a = AnimationUtils.loadAnimation(getBaseContext(),R.anim.progress_anim);
a.setDuration(1000);
splash.startAnimation(a);
new Handler().postDelayed(new Runnable(){
@Override
public void run() {
a.cancel();
splash.setVisibility(View.GONE);
}
}, SPLASHTIME);
}
スプラッシュ画像の XML:
<ImageView
android:id="@+id/splashscreen"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/loading_circle"
android:layout_gravity="center"
/>