是的,我可以用2張圖片創建ToggleButton(開,關)但是我想用3-5張圖片創建一個切換按鈕。如何創建動畫ToggleButton?
例如,當是它了,我點擊:
- 關畫面
- 畫中游
- 在畫面
而當它是不是在和我點擊:
- 在圖片
- 畫中游
- OFF圖片
所以它像幀動畫,我可以用ImageView的時間使用。
是的,我可以用2張圖片創建ToggleButton(開,關)但是我想用3-5張圖片創建一個切換按鈕。如何創建動畫ToggleButton?
例如,當是它了,我點擊:
而當它是不是在和我點擊:
所以它像幀動畫,我可以用ImageView的時間使用。
編輯:
您可以使用Frame Animation: 在res/drawable/myanim.xml
:
<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/pic_one" android:duration="50"/>
<item android:drawable="@drawable/pic_two" android:duration="50" />
<item android:drawable="@drawable/pic_three" android:duration="50" />
</animation-list>
然後可以使用這個動畫作爲一個普通的繪製:
<ImageView android:id="@+id/image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/myanim"/>
開始你做動畫
AnimationDrawable backgroundDrawable = (AnimationDrawable) image.getDrawable();
backgroundDrawable.start();
您還可以使用Value Animator。我沒有測試過這個,但是你應該可以把這樣的東西放到你的按鈕的onClick處理器中:
int[] backgrounds = ...;//ids of the backgrounds for the button
ValueAnimator anim = ValueAnimator.ofInt(0, backgrounds.length);
anim.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animation) {
int i = (Integer) animation.getAnimatedValue();
int backgroundId = backgrounds[i];
yourButton.setBackgroundResource(backgroundId);
}
});
anim.setDuration(500); //0.5 seconds
anim.start();
是的,但我認爲,我可以用ToggleButton風格來做到這一點。 –
例如,我不使用圖片作爲「開」或「關」背景,我可以使用其他圖片的動畫。 –
@АлексейМаксимов好的,我編輯了我的答案,添加了框架動畫的示例 –
你到目前爲止嘗試過什麼嗎?例如,玩STYLES? – bofredo