0

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

我对此做了一些研究,我发现

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

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

4

4 回答 4

2

尽管其他答案肯定有效,但这里有一个替代方法,可以避免仅针对您的徽标进行单独的活动:

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

您的 ImageView 将消失,其他布局元素将落入其位置。

于 2012-08-15T19:09:34.757 回答
2

你需要:

  • 添加一个新的 Activity SplashActivity,它将成为您应用的启动 Activity。
  • 当您的应用程序启动时,启动您的应用程序SplashActivity并等待一段时间。
  • 等待完成后,开始MainActivity并完成SplashActivity.

这是一个很好的例子:

闪屏活动:

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>
于 2012-08-15T19:01:12.390 回答
1

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

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

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

只需确保在您的主页类中扩展 Activity 类

于 2012-08-15T18:36:08.730 回答
0

当你的应用程序图标被点击时被调用的主要活动是一个只有你的徽标的视图的活动。一些简单的东西,只是一个RelativeLayout 和一个ImageView。延迟一段时间后,让此活动开始您的实际主要活动。

于 2012-08-15T18:37:34.910 回答