如何在应用程序启动前放置图片?

时间:2015-03-18 17:20:49

标签: android splash-screen

我试图在我的应用中添加图片但不确定如何。

我需要一个新的活动吗?如果是这样,该活动将如何理解何时停止并转到真实计划?

澄清我想要做的事情:当你打开任何应用程序时,我认为他们会有我正在谈论的内容。例如,Youtube应用程序在打开时会有一个屏幕显示Youtube的徽标,然后才会打开真正的应用程序。我认为这个屏幕大约需要3到5秒。

2 个答案:

答案 0 :(得分:1)

使用下面的sais活动。这是一个例子:

public class SplashActivity extends Activity {

private static String TAG = SplashActivity.class.getName();
private static long SLEEP_TIME = 2;    // Time in seconds to show the picture

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    this.requestWindowFeature(Window.FEATURE_NO_TITLE);    // Removes title bar
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);    // Removes notification bar

    setContentView(R.layout.splash_screen);  //your layout with the picture

    // Start timer and launch main activity
    IntentLauncher launcher = new IntentLauncher();
    launcher.start();
}

private class IntentLauncher extends Thread {
    @Override
    /**
     * Sleep for some time and than start new activity.
     */
    public void run() {
        try {
            // Sleeping
            Thread.sleep(SLEEP_TIME*1000);
        } catch (Exception e) {
            Log.e(TAG, e.getMessage());
        }

        // Start main activity
        Intent intent = new Intent(SplashActivity.this, MainActivity.class);
        SplashActivity.this.startActivity(intent);
        SplashActivity.this.finish();
    }
}}

不要忘记添加到清单

 <activity
        android:name=".SplashActivity"
        android:screenOrientation="portrait">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>

答案 1 :(得分:0)

它叫做启动画面

您应该创建具有计时器的新活动。 1-2秒后,它将启动您的主要活动。

How to implement Splash Screen in android