Shr*_*jan 36 xml animation android android-animation layout-animation
在我的应用程序中,我将在一个动画后设置alpha.如:
hideMenu = AnimationUtils.loadAnimation( getApplication(), R.anim.menu_layout_hide);
menuLayout.startAnimation(hideMenu);
menuLayout.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)
但是我想在Alpha设置View之前设置1秒的延迟.因为我无法看到该布局的动画.那怎么可能呢?
谢谢.
Dmy*_*lyk 68
在动画xml
文件中,您可以使用android:startOffset
属性:
android:startOffset int. The amount of milliseconds the animation delays after start() is called.
Run Code Online (Sandbox Code Playgroud)
wes*_*ton 21
假设您使用的是view .animate()
方法,则可以设置起始偏移量:
view.animate().x(100)
.setDuration(5000)
.setStartDelay(1000);
Run Code Online (Sandbox Code Playgroud)
Handler是实现这一目标的好方法.
new Handler().postDelayed(new Runnable()
{
@Override
public void run()
{
view.startAnimation(animation);
}
}, 1000);
Run Code Online (Sandbox Code Playgroud)
在你的情况下,你可以简单地这样做
hideMenu = AnimationUtils.loadAnimation( getApplication(), R.anim.menu_layout_hide);
hideMenu.setStartOffset(1000);
menuLayout.startAnimation(hideMenu);
menuLayout.setVisibility(View.GONE);
Run Code Online (Sandbox Code Playgroud)
在这种情况下,您可以从活动动态控制开始时间的值