Android中的Splashscreen无法正常工作

时间:2012-06-10 09:10:13

标签: android

我正在使用代码在堆栈溢出时发布的Android应用程序的启动画面代码。我无法得到输出。这是代码。

package com.splash;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
public class SplashScreen extends Activity {

        private static final int SPLASH_DISPLAY_TIME = 3000;

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.splash);

            new Handler().postDelayed(new Runnable() {

                public void run() {

                    Intent mainIntent = new Intent(Splashscreen.this,
                            MainActivity.class);
                    Splashscreen.this.startActivity(mainIntent);

                    Splashscreen.this.finish();
                    overridePendingTransition(R.anim.mainfadein,
                            R.anim.splashfadeout);
                }
            }, SPLASH_DISPLAY_TIME);
        }
    }
}

这是splash.xml文件;

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ImageView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/splash" />
</LinearLayout>

请告诉我如何解决它。我还有用于初始屏幕图像的fadein和fadeout xml文件。

3 个答案:

答案 0 :(得分:0)

代码中

public class SplashScreen extends Activity {两次..

单身。

package com.splash;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.os.Handler;
public class SplashScreen extends Activity {

        private static final int SPLASH_DISPLAY_TIME = 3000;

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.splash);

            new Handler().postDelayed(new Runnable() {

                public void run() {

                    Intent mainIntent = new Intent(Splashscreen.this,
                            MainActivity.class);
                    Splashscreen.this.startActivity(mainIntent);

                    Splashscreen.this.finish();
                    overridePendingTransition(R.anim.mainfadein,
                            R.anim.splashfadeout);
                }
            }, SPLASH_DISPLAY_TIME);
        }
    }

答案 1 :(得分:0)

确保将MainActivity添加到AndroidManifest.xml。从logcat发布异常堆栈跟踪也可以提供很多帮助。

答案 2 :(得分:0)

最有可能的是,你没有'MainActivity'课程。检查它的名称是否正确。并确保它在正确的包中并添加到清单中。