2011-05-24 97 views
2

我試圖讓我的gif動畫上用下面的代碼循環動畫,但我沒有任何運氣顯示GIF動畫......使用動畫繪製的問題

JAVA

ImageView img = (ImageView)findViewById(R.id.load_img); 
img.setBackgroundResource(R.drawable.load_animation); 

AnimationDrawable frameAnimation = (AnimationDrawable) img.getBackground(); 

frameAnimation.start(); 

XML

<animation-list android:oneshot="false" xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:drawable="@drawable/load_0000" android:duration="50" /> 
<item android:drawable="@drawable/load_0001" android:duration="50" /> 
<item android:drawable="@drawable/load_0002" android:duration="50" /> 
<item android:drawable="@drawable/load_0003" android:duration="50" /> 
<item android:drawable="@drawable/load_0004" android:duration="50" /> 
<item android:drawable="@drawable/load_0005" android:duration="50" /> 
<item android:drawable="@drawable/load_0006" android:duration="50" /> 
<item android:drawable="@drawable/load_0007" android:duration="50" /> 
<item android:drawable="@drawable/load_0008" android:duration="50" /> 
<item android:drawable="@drawable/load_0009" android:duration="50" /> 
</animation-list> 

任何人有任何想法,爲什麼它是不是動畫?

回答

1

嘗試撥打setImageResource(R.drawable.load_animation)而不是setBackgroundResource(R.drawable.load_animation)

10

似乎我遇到了同樣的問題,當我使用它時,無論是setImageResource(R.drawable.load_animation)還是 setBackgroundResource(R.drawable.load_animation),圖像都沒有顯示。

然後我試着把代碼放到我的XML視圖文件中,用android:background="@drawable/load_animation 得到的圖像顯示出來,但仍然沒有動畫,它只顯示一個靜態圖像。

然後周圍的Googling一段時間後,我發現,AnimationDrawable不能onCreate 工作,我們可以把它放在onResumeonWindowsFocusChanged。所以在這裏我試試這個:

public void onWindowFocusChanged(boolean hasFocus) { 
    loadingAnimation = (AnimationDrawable) 
    findViewById(R.id.img_loading).getBackground(); 
    if (hasFocus) { 
     loadingAnimation.start(); 
    } 
    else { 
     loadingAnimation.stop(); 
    } 
} 

最後它的工作,gif都顯示和動畫!

+0

噢,我的上帝有多久了我一直試圖讓這個該死的東西的工作...謝謝!!!!! – George 2011-12-16 17:43:33

+0

很高興幫助! @George – richardlin 2012-01-01 12:16:27

+0

你能否提供完整的代碼,我真的需要。 – TRonZ 2012-07-16 12:18:06

0

我認爲你應該使用img.startxx(frameAnimation)