Android - 如何淡入图像?

时间:2011-04-26 05:43:42

标签: android fadein fade fadeout tween

好的,所以我不明白我该怎么做。

我想要它做的就是让我的游戏上的图像消失。

这个方法在我的MainGame类中,它扩展了SurfaceView并实现了SurfaceHolder.Callback

这是我的fadein.xml

<?xml version="1.0" encoding="UTF-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android"> <alpha android:fromAlpha="0.0" android:toAlpha="1.0" android:interpolator="@android:anim/accelerate_interpolator" android:duration="3000" android:repeatCount="infinite"/> </set>

我试过了:

  

public void Animation(){   ImageView myImageView =(ImageView)findViewById(R.id.block1);   动画myFadeInAnimation = AnimationUtils.loadAnimation(this.getApplicationContext(),R.anim.fadein);   myImageView.startAnimation(myFadeInAnimation);   }

     

AnimationUtils类型中的方法loadAnimation(Context,int)不适用于参数(MainGame,int)

以及

  

public void Animation() { ImageView myImageView= (ImageView)findViewById(R.id.myImageView); Animation myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein); myImageView.startAnimation(myFadeInAnimation); }

     

方法getApplicationContext()未定义MainGame类型

我还尝试将Animation方法放在它自己的名为fade的类中,该类扩展Activity并在我的MainGame类中创建一个名为Fade的动画对象,并通过

方法调用它

Fade.Animation();

我可以编译并运行它,但只要包含该方法的方法运行就会崩溃。

也许有人可以为我提供基本示例或教程?任何帮助都会很棒,谢谢。

1 个答案:

答案 0 :(得分:0)

不使用getApplicationContext(),而是使用Activity中的Context对象。这可能是在构造函数中传递给SurfaceView的。您可以在View的构造函数中保存对此的引用,并在View需要上下文时使用它。