我试图动画一个扩展和缩小回初始大小的视图.我尝试使用动画集添加两个动画,以便第二个动画将在第一个动画后开始,但无法使其正常工作.
AnimationSet expandAndShrink = new AnimationSet(true);
ScaleAnimation expand = new ScaleAnimation(
1f, 1.5f,
1f, 1.5f,
Animation.RELATIVE_TO_PARENT, 0,
Animation.RELATIVE_TO_PARENT, 0);
ScaleAnimation shrink = new ScaleAnimation(
1.5f, 1f,
1.5f, 1f,
Animation.RELATIVE_TO_PARENT, 1f,
Animation.RELATIVE_TO_PARENT, 1f);
expandAndShrink.addAnimation(expand);
expandAndShrink.addAnimation(shrink)
expandAndShrink.setFillAfter(true);
expandAndShrink.setDuration(1000);
expandAndShrink.setInterpolator(new AccelerateInterpolator(1.0f));
view.bringToFront();
view.startAnimation(expandAndShrink);
Run Code Online (Sandbox Code Playgroud)
我真的很感激任何帮助它的工作.提前致谢
我修复了"扩展"和"收缩"动画,并增加了两者的持续时间.你还应该添加shrink.setStartOffset(1000); 所以第二个动画稍后开始
AnimationSet expandAndShrink = new AnimationSet(true);
ScaleAnimation expand = new ScaleAnimation(
1f, 1.5f,
1f, 1.5f,
Animation.RELATIVE_TO_PARENT, 0,
Animation.RELATIVE_TO_PARENT, 0);
expand.setDuration(1000);
ScaleAnimation shrink = new ScaleAnimation(
1.5f, 1f,
1.5f, 1f,
Animation.RELATIVE_TO_PARENT, 0f,
Animation.RELATIVE_TO_PARENT, 0f);
shrink.setStartOffset(1000);
shrink.setDuration(1000);
expandAndShrink.addAnimation(expand);
expandAndShrink.addAnimation(shrink);
expandAndShrink.setFillAfter(true);
expandAndShrink.setInterpolator(new AccelerateInterpolator(1.0f));
view.startAnimation(expandAndShrink);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2755 次 |
| 最近记录: |