我想知道如何正确处理动画。下面的代码工作正常,但动画仅在第一次点击时开始。第一次单击后它不再起作用。
布局:
<Button
android:id="@+id/play"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:background="@drawable/speaker" />
动画文件“anim.xml”:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="true" >
<item
android:drawable="@drawable/choose12"
android:duration="100"/>
<item
android:drawable="@drawable/choose12_1"
android:duration="100"/>
<item
android:drawable="@drawable/choose12_2"
android:duration="100"/>
<item
android:drawable="@drawable/choose12"
android:duration="100"/>
</animation-list>
活动:
final Button speakButton = (Button)findViewById(R.id.play);
speakButton.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
String words = getResources().getString(R.string.select_age);
speakWords(words);
speakButton.setBackgroundResource(R.drawable.anim.xml);
AnimationDrawable AppNameAnimation = (AnimationDrawable) speakButton.getBackground();
AppNameAnimation.start();
}
});
在上面的代码中,动画仅适用于第一次单击,但不会在第二次(或第三次或第 N 次)单击时开始。
每次单击按钮时如何启动动画?