android – 如何以编程方式为自定义视图(ImageView)设置动画?
作者:互联网
我想以编程方式为自定义视图设置动画.我希望它只在xml文件中声明它的位置动画,我不希望它弄乱布局.此动画也受其他因素的影响,因此android Animation类是不可能的.
我已经测试了这个样本tutorial并观看了这个videos.我的问题是大多数教程都是为了将精灵设置为画布,你将在其中跟踪精灵的位置.
如何在不影响布局且不使用Android Animation类的情况下为自定义视图设置动画?
编辑:
自定义视图将充当动画gif,并在事件激活时切换另一组帧.
解决方法:
如果你想要像动画gif一样“运行”的“逐帧”动画,你可以遵循:
drawable-animation official tutorial.
引用教程:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true">
<item android:drawable="@drawable/rocket_thrust1" android:duration="200" />
<item android:drawable="@drawable/rocket_thrust2" android:duration="200" />
<item android:drawable="@drawable/rocket_thrust3" android:duration="200" />
</animation-list>
并在你的代码中
AnimationDrawable rocketAnimation;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
ImageView rocketImage = (ImageView) findViewById(R.id.rocket_image);
rocketImage.setBackgroundResource(R.drawable.rocket_thrust);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
}
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
rocketAnimation.start();
return true;
}
return super.onTouchEvent(event);
}
标签:animated-gif,android,animation,view 来源: https://codeday.me/bug/20190726/1539879.html