2010-07-20 90 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