【发布时间】:2015-05-04 22:14:52
【问题描述】:
我正在使用从左下角到上方的图像为两个布局设置动画。当我同时为这些图像设置动画时效果很好。但我想一个接一个地为它们设置动画。这意味着第一个底部布局将从左下角动画到顶部。然后其上面的布局将从左下到上进行动画处理。 为此,我尝试了下面的代码,但它没有按预期工作。我尝试使用 postDelayed() 方法为第二个图像设置动画。但首先我看到一个布局动画和第二个布局静态然后我看到两个图像动画。什么应该是正确的这样做的方法?
Handler fbanimation;
bottomUp = AnimationUtils.loadAnimation(this,
R.anim.loginbottomup);
ggin.setVisibility(View.VISIBLE);
ggin.startAnimation(bottomUp);
fbanimation.postDelayed(new Runnable() {
@Override
public void run() {
afn.setVisibility(View.VISIBLE);
afn.startAnimation(bottomUp);
}
},1000);
loginbottomup.xml
<set
android:shareInterpolator="false">
<translate android:fromXDelta="-300%" android:toXDelta="0%"
android:fromYDelta="300%" android:toYDelta="0%"
android:duration="1000"/>
</set>
【问题讨论】:
-
你知道
animatorSet吗?检查这个post,这正是你所需要的。所以你所要做的就是把你的动画放在一个列表中,然后使用答案中的第一个选项,剩下的就交给安卓了 -
@Elltz 我希望名为“first”的图像视图首先制作动画,然后在其动画完成后,名为“第二”的图像视图制作动画。我该怎么做?参考 John D. 回答我必须将
animation1分配给first和animation2分配给second -
我看不到我的帖子是如何链接的,这两个答案都无法解决您的要求。将动画设置为视图并使用 animatorSet 播放动画,或者自定义方式,让第一个动画的侦听器在结束时启动第二个动画,这就是 Rod 提供的答案。先生,您是初学者吗?
-
@Elltz 是的,我是 freasher ..假设我想为两个名为
first的 imagview.imageview 设置动画,首先进行动画处理,然后在其动画完成后,使用名为second的 imageview 进行动画处理。我可以用 AnimatorSet 做吗?参考 Joh 的回答,我如何将动画 1 分配给first和动画 2 分配给second?请帮我写代码 -
你试过我的方法了吗?
标签: android animation android-imageview