Android 安卓-如何淡入图像?

Android 安卓-如何淡入图像?,android,fadein,fade,fadeout,tween,Android,Fadein,Fade,Fadeout,Tween,好吧,我不明白我该怎么做 我想要它做的就是在我的游戏上面有一个淡入淡出的图像 这个方法在我的MainGame类中,它扩展了SurfaceView并实现了SurfaceHolder.Callback 这是我的fadein.xml 我试过: 公共虚空动画{ ImageView myImageView=ImageViewfindViewByIdR.id.block1; 动画myFadeInAnimation=AnimationUtils.loadAnimationthis.getApplicati

好吧,我不明白我该怎么做

我想要它做的就是在我的游戏上面有一个淡入淡出的图像

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

这是我的fadein.xml

我试过:

公共虚空动画{ ImageView myImageView=ImageViewfindViewByIdR.id.block1; 动画myFadeInAnimation=AnimationUtils.loadAnimationthis.getApplicationContext,R.anim.fadein; myImageView.startAnimationmyFadeInAnimation; }

类型AnimationUtils中的方法loadAnimationContext,int不适用于参数MainGame,int

以及

公共虚空动画{ ImageView myImageView=ImageViewfindViewByIdR.id.myImageView; Animation myFadeInAnimation=AnimationUtils.loadAnimationthis,R.anim.fadein; myImageView.startAnimationmyFadeInAnimation; }

类型MainGame的方法getApplicationContext未定义

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

淡出。动画

我可以编译并运行它,但一旦包含它的方法运行,它就会崩溃


也许有人能给我提供一个基本的例子或教程?任何帮助都会很好,谢谢。

使用活动中的上下文对象,而不是使用getApplicationContext。这可能会在其构造函数中交给您的SurfaceView。您可以在视图的构造函数中保存对此的引用,并在视图需要上下文时使用它。

是的,我相信上下文将通过supercontext传递给构造函数中的SurfaceView;因此,我将getApplicationContext更改为MainGame.super.getContext,但应用程序仍然崩溃。我不确定我到底做错了什么…在你的SurfaceView中创建一个实例变量来保存你在构造函数中得到的上下文。使用该变量代替这些方法。另外,您可以复制并发布崩溃的stacktrace吗?它在我调用它的方法中显示AndroidRuntime java.lang.NullPointerException。