我有一个名为“fadein.xml”的简单.xml文件来为图像设置动画...
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<alpha
android:fromAlpha="0.0"
android:toAlpha="1.0"
duration="2000"/>
</set>
以下是我从主java类中引用此动画文件的方式......
ImageView logo;
Animation myFadeInAnimation;
logo = (ImageView) findViewById(R.id.logoImage);
myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein);
logo.startAnimation(myFadeInAnimation);
然而,每当这部分应该运行时,我的应用程序崩溃了......有人可以在这里建议我做错了吗?提前谢谢!
修改 的
这是logcat日志......
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): FATAL EXCEPTION: main
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.helloandroid2/com.example.helloandroid2.SplashScreen}: java.lang.NullPointerException
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1815)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1831)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.app.ActivityThread.access$500(ActivityThread.java:122)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1024)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.os.Handler.dispatchMessage(Handler.java:99)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.os.Looper.loop(Looper.java:132)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.app.ActivityThread.main(ActivityThread.java:4123)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at java.lang.reflect.Method.invokeNative(Native Method)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at java.lang.reflect.Method.invoke(Method.java:491)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:841)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:599)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at dalvik.system.NativeStart.main(Native Method)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): Caused by: java.lang.NullPointerException
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at com.example.helloandroid2.SplashScreen.onCreate(SplashScreen.java:28)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.app.Activity.performCreate(Activity.java:4397)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1048)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1779)
11-03 22:26:37.579: ERROR/AndroidRuntime(1558): ... 11 more
答案 0 :(得分:0)
我遇到了您遇到的同样问题。我刚刚使用了一种方法,可以在需要的时候使用这种方法在类中的任何地方调用动画:
public void animate(X a){
Animation myFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fadein);
a.startAnimation(myFadeAnimation);
}
//其中X是您要为{@ 1}}设置动画的类型,适用于想要设置动画的imageViews,buttons,textView等android小部件。要调用它,只需键入类似方法View
。希望它适合你的情况!
不要忘记删除上面的所有动画声明。这种方法可以完成所有工作。 :d