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

必要がある:

  • SplashActivityアプリの開始アクティビティとなる新しいアクティビティを追加します。
  • アプリが起動したら、アプリを起動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

試みられる解決策の 1 つは、メイン アクティビティとしてロゴをロードし、アプリケーションを数秒間一時停止させてから、2 つ目のアクティビティである「真の」ホームページを呼び出すことです。

その 2 番目のアクティビティを開始するには、次のような「インテント」を使用します。

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 に答える