Android textview可绘制右动画
我注意到textview具有可绘制的上/下/左/右。您可以使用setCompundDrawable在代码中设置它 我知道当我有imageview时,我可以使用下面的内容来创建可绘制动画(一帧接一帧)。 但是,如何为textview的drawable(例如drawable Right)执行此操作Android textview可绘制右动画,android,Android,我注意到textview具有可绘制的上/下/左/右。您可以使用setCompundDrawable在代码中设置它 我知道当我有imageview时,我可以使用下面的内容来创建可绘制动画(一帧接一帧)。 但是,如何为textview的drawable(例如drawable Right)执行此操作 谢谢文本视图不允许通过getter访问复合绘图项。因此,您可以从共享的链接以下一种方式添加动画: 火箭推力.xml <animation-list xmlns:android="http://sc
谢谢
文本视图
不允许通过getter访问复合绘图项。因此,您可以从共享的链接以下一种方式添加动画:
火箭推力.xml
<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>
如果使用代码中的可绘制边界,则需要指定可绘制边界。如果是图像绘图,您可以使用getIntrinsicWidth
,getIntrinsicHeight
进行中继,否则需要指定一些尺寸
AnimationDrawable rocketAnimation;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
rocketAnimation = (AnimationDrawable) getResources().getDrawable(R.drawable.rocket_thrust);
rocketAnimation.setBounds(0, 0, rocketAnimation.getIntrinsicWidth(), rocketAnimation.getIntrinsicHeight());
TextView rocketText = (TextView) findViewById(R.id.text_view);
rocketText.setCompoundDrawables(rocketAnimation, null, null, null);
}
public boolean onTouchEvent(MotionEvent event) {
if (event.getAction() == MotionEvent.ACTION_DOWN) {
rocketAnimation.start();
return true;
}
return super.onTouchEvent(event);
}