マイアプリケーションでは、1つのアニメーションの後にアルファを設定します。など:
hideMenu = AnimationUtils.loadAnimation( getApplication(), R.anim.menu_layout_hide);
menuLayout.startAnimation(hideMenu);
menuLayout.setVisibility(View.GONE);
しかし、アルファがビューを設定する前に1秒の遅延を設定したいと思います。そのため、そのレイアウトのアニメーションを見ることができません。だからそれはどうですか?
ありがとう。
アニメーションxml
ファイルでは、Android:startOffset
属性:
Android:startOffset int. The amount of milliseconds the animation delays after start() is called.
View .animate()
メソッドを使用している場合、開始オフセットを設定できます:
view.animate().x(100)
.setDuration(5000)
.setStartDelay(1000);
これを実現するには、ハンドラーが優れた手法です。
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
view.startAnimation(animation);
}
}, 1000);
あなたの場合、あなたは単にこのようにすることができます
hideMenu = AnimationUtils.loadAnimation( getApplication(), R.anim.menu_layout_hide);
hideMenu.setStartOffset(1000);
menuLayout.startAnimation(hideMenu);
menuLayout.setVisibility(View.GONE);
この場合、アクティビティから開始時間の値を動的に制御できます