Android主屏幕启动器

时间:2012-08-15 18:32:52

标签: android android-intent launcher

首先让我告诉大家,我是Android应用程序开发的新手。 我想知道如何启动主屏幕然后应用主屏幕。 即,每当您点击某个应用程序时,首先它会显示一些徽标屏幕,然后自动跳转到应用程序的主屏幕。 我的应用程序的主屏幕正在运行,我只想在用户点击应用程序时添加某种徽标屏幕。

我对此进行了一些研究,我发现了

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

如果我将此添加到徽标活动,那么如何自动调用app_home_screen活动 希望我足够清楚地解释这个问题。

4 个答案:

答案 0 :(得分:2)

你需要:

  • 添加新的活动SplashActivity,这将是您应用的开始活动。
  • 当您的应用启动时,请启动您的SplashActivity并等待一段时间。
  • 等待完毕后,启动MainActivity并完成SplashActivity

这是一个很好的例子:

<强> SplashScreenActivity:

public class SplashScreenActivity extends Activity {

    @Override
    public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.splash_layout); //You need to define it in your layouts
    final int welcomeScreenDisplay = 3000; //splash lasts for 3 sec. You can change it
    /** create a thread to show splash up to splash time */
    Thread welcomeThread = new Thread() {
        int wait = 0;
        @Override
        public void run() {
            try {
                super.run();
                while (wait < welcomeScreenDisplay) {
                     sleep(100);
                     wait += 100;
                }
            } catch (Exception e) {
                System.out.println("EXc=" + e);
            } finally {
                startActivity(new Intent(SplashScreenActivity.this, MainScreenActivity.class));
                finish();
            }}
        };
        welcomeThread.start();

    }
}

不要忘记将活动添加到您的清单文件中:

<activity
    android:name=".SplashScreenActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
<activity
    android:name=".MainScreenActivity"
    android:label="@string/app_name" >
</activity>

答案 1 :(得分:2)

虽然其他答案肯定有效,但这里有一个替代方法可以避免为您的徽标单独开展活动:

  1. 在主要活动布局中的其他元素(他们将在屏幕外部有一个初始布局)之前,按照您的意愿(即覆盖全屏)放置ImageView。
  2. 在onCreate中调用setContentView后,运行SystemClock.sleep(LOGO_TIME),其中LOGO_TIME是一个整数,表示您希望徽标出现的毫秒数。
  3. 最后,调用setVisibility(View.GONE)。
  4. 您的ImageView将会消失,其他布局元素将会落在其位置。

答案 2 :(得分:1)

您可以尝试的一个解决方案是将徽标作为主要活动加载,并让应用程序暂停几秒钟,然后再调用第二个活动,即“真正的”主页。

要开始第二项活动,您将使用“意图”,例如

Intent myIntent = new Intent(myFirstActivity.this, realHomePage.class);
myFirstActivity.this.startActivity(myIntent);

只需确保在主页类

中扩展Activity类

答案 3 :(得分:0)

点击您的应用图标时调用的主要活动是一个只包含您的徽标的视图的活动。简单的东西,只是一个RelativeLayout和一个ImageView。延迟一段时间后,让此活动以意图开始您的实际主要活动。