ここで達成したいのは、ビューを可視に設定し、3 秒間そのままにしてからフェードアウトすることです。これは、タイマー、ハンドラー、およびランナブルで行います。以下は私のコードです:
mIntroLayer.setVisibility(View.VISIBLE);
final Runnable animationRunnable = new Runnable() {
public void run() {
mIntroLayer.startAnimation(mFadeAwayAnimation);
}
};
final Handler animationHandler = new Handler();
Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
animationHandler.post(animationRunnable);
}
}, 3 * 1000);
mIntroLayer.setVisibility(View.INVISIBLE);
ただし、何が起こっているのかというと、イントロ レイヤーが 3 秒間非表示になり、その後表示されて消えていきます。ランナブル内で mIntroLayer.setVisibility(View.VISIBLE) ステートメントが実行されているようです。これがなぜなのか誰にも分かりますか?ありがとう!