2010-07-20 96 views
2

當我嘗試在Eclipse中編碼逐幀動畫時,它給了我一個錯誤。我在互聯網上發現了一些東西,說他們在sdk教程文檔中搞砸了,但我不禁想知道是什麼 android:id =「selected」意味着什麼或應該在引用中加入什麼。逐幀動畫

另外,有人可以向我解釋幀動畫教程的最後一部分嗎? http://developer.android.com/guide/topics/resources/animation-resource.html#Frame 您是否在文件名.Java中添加了另一個代碼,如果是,您將它放在哪裏? 我不明白在哪裏放第二個不是XML的代碼。我想我需要知道下面的代碼是和它應該去:

​​3210

但這裏是我使用的XML代碼:

<animation-list android:id="selected" android:oneshot="false"> 
<item android:drawable="@drawable/filename" android:duration="200" /> 
<item android:drawable="@drawable/filename2" android:duration="200" /> 
</animation-list> 

應該什麼方法可以從該刪除或添加?我不知道還有什麼要做,因爲我需要啓動動畫並獲得該代碼(第一個代碼),但我不知道它會發生什麼,或者是否需要其他代碼。

+0

請避免那種標題,請編輯您的問題。 – Macarse 2010-07-20 13:46:54

回答

3

這就是我實現它的方式。

在你的主要java文件中,你應該有這樣的東西。

public class Main extends Activity { 
AnimationDrawable mainanimation; 

public void onCreate(Bundle icicle) { 
    super.onCreate(icicle); 
    setContentView(R.layout.main); 

    ImageView mainimage = (ImageView) findViewById(R.id.MainAnim); 
    mainimage.setBackgroundResource(R.anim.mainanim); 
    mainanimation = (AnimationDrawable) mainimage.getBackground(); 

所以你在main.xml中的佈局文件設定的ImageView到包含動畫(R.id.MainAnim)

然後在你的MainAnim.xml(位於RES /阿尼姆)的XML你寫的文件

<?xml version="1.0" encoding="utf-8"?> 
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> 
<item android:drawable="@drawable/image1" android:duration="2000" /> 
<item android:drawable="@drawable/image2" android:duration="2000" /> 
</animation-list> 

現在image1和image2將在每個2秒來回交替。另外我沒有使用andriod:id =「selectable」。

總結你需要3個文件。您的Main.java,您的main.xml佈局文件以及位於res/anim中的mainanim.xml文件。您的2張圖片也在drawable文件夾中。

希望清除它一點點。

+0

它清理得更好,但我沒有mainanim.xml文件和anim文件夾。你需要在res中創建anim文件夾嗎? 我也不斷收到錯誤「id和anim無法解析或不是字段。」 – Mia 2010-07-20 19:15:22

+1

是的,您需要創建一個包含上述動畫代碼的「anim」文件夾和xml文件。 – Cameron 2010-07-20 22:01:58

+0

對於那些不確定如何啓動動畫的人,可以在onTouchEvent內部創建它,例如在此Android文檔頁面底部所示: http://developer.android.com/guide/topics/graphics /2d-graphics.html#frame-animation – justinl 2010-07-22 07:36:58