我有一個默認圖像的圖像視圖。現在,當我嘗試點擊它時,我想讓它動畫顯示4幀圖像。我怎麼能做到這一點,我試圖更簡單的方法(更愚蠢的做法)通過更改imageresource 4次,如預期的圖像變化太快,動畫圖像效果不可見。有任何想法嗎?在圖像視圖中創建動畫
我嘗試這樣的做法:
Gem = (ImageView)v;
Gem.setImageResource(com.example.gems.R.drawable.bd1);
Gem.postDelayed(new Runnable() {
public void run() {
Gem.setImageResource(com.example.gems.R.drawable.bd2);
Gem.postDelayed(new Runnable() {
public void run() {
Gem.setImageResource(com.example.gems.R.drawable.bd3);
Gem.postDelayed(new Runnable() {
public void run() {
Gem.setImageResource(com.example.gems.R.drawable.bd4);
Gem.postDelayed(new Runnable() {
public void run() {
}
}, 500);
}
}, 500);
}
}, 500);
}
}, 500);
它的工作,但有一個更好的方式來此無需編碼太多線?我有25種圖像,每個圖像有4幀。
編輯:
我使用XML轉換文件的嘗試:
的Java文件:
Resources res = this.getResources();
Gem = (ImageView)v;
TransitionDrawable transition;
transition = (TransitionDrawable)
res.getDrawable(R.drawable.blue_diamond_animation);
Gem.setImageDrawable(transition);
transition.startTransition(3000);
XML文件:
<transition xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="@drawable/bd1"></item>
<item android:drawable="@drawable/bd2"></item>
<item android:drawable="@drawable/bd3"></item>
<item android:drawable="@drawable/bd4"></item>
<item android:drawable="@drawable/invi"></item>
</transition>
這似乎是工作,但我不」不想在轉換中繪製這些圖像。我想改變過渡的背景。我試過將android:drawable
更改爲android:drawable
,但它不起作用。
你能給這個例子代碼或僞代碼嗎?我不太明白。 – ljpv14
我用動畫繪製,使其工作。我怎樣才能停止動畫?我的意思是我只想讓它顯示5幀,然後停在最後一幀。 – ljpv14
你應該使用'ad.setOneShot(true)'這個方法,它應該使它只能播放一次。 –