如何在设置视图的alpha之前创建1秒的延迟?

时间:2011-12-07 09:28:46

标签: android xml animation android-animation layout-animation

在我的应用程序中,我将在一个动画后设置alpha。 如:

hideMenu = AnimationUtils.loadAnimation( getApplication(), R.anim.menu_layout_hide);
 menuLayout.startAnimation(hideMenu);
 menuLayout.setVisibility(View.GONE);

但是我想在Alpha设置View之前设置1秒的延迟。因为我无法看到该布局的动画。那么它是怎么回事?

感谢。

5 个答案:

答案 0 :(得分:75)

你不能使用

  

android:startOffset int。动画的毫秒数   调用start()后的延迟。

动画片xml中的

请参阅the animation resource documentation

答案 1 :(得分:62)

在动画xml文件中,您可以使用android:startOffset属性:

android:startOffset int. The amount of milliseconds the animation delays after start() is called.

答案 2 :(得分:18)

假设您使用的是视图.animate()方法,则可以设置起始偏移量:

view.animate().x(100)
              .setDuration(5000)
              .setStartDelay(1000);

答案 3 :(得分:6)

Handler是实现这一目标的好方法。

scrollable

答案 4 :(得分:3)

在你的情况下,你可以这样做

hideMenu = AnimationUtils.loadAnimation( getApplication(), R.anim.menu_layout_hide);

hideMenu.setStartOffset(1000);

 menuLayout.startAnimation(hideMenu);
 menuLayout.setVisibility(View.GONE);

在这种情况下,您可以从活动

动态控制开始时间的值