1

私は 3 つの画像を持っています。それらをスプラッシュ ビューのように最初のレイアウト xml に表示して、1 回だけ表示できるようにしたいです。つまり、アプリがインストールされたとき、またはアプリが新しい更新を取得した場合、またはアプリが新しい更新を取得した場合に、そのアクティビティが 1 回だけ呼び出されます。常に 2 番目のアクティビティから開始します。これをどのように開始すればよいかわかりません。

ここに画像の説明を入力

これを行う方法を教えてください。

スプラッシュを一度だけ表示する。

この質問の次の部分はこちら

コーディングは大歓迎です。

4

3 に答える 3

4

ウェルカム画面の処理が完了したら、アプリケーションの起動時に設定にフラグを保存します。ようこそ画面を表示する前に、このフラグを確認してください。フラグが存在する場合 (つまり、初めてではない場合)、それを表示しません。

In your activity:

SharedPreferences mPrefs;
final String welcomeScreenShownPref = "welcomeScreenShown";

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    mPrefs = PreferenceManager.getDefaultSharedPreferences(this);

    // second argument is the default to use if the preference can't be found
    Boolean welcomeScreenShown = mPrefs.getBoolean(welcomeScreenShownPref, false);

    if (!welcomeScreenShown) {
        // here you can launch another activity if you like
        // the code below will display a popup

        String whatsNewTitle = getResources().getString(R.string.whatsNewTitle);
        String whatsNewText = getResources().getString(R.string.whatsNewText);
        new AlertDialog.Builder(this).setIcon(android.R.drawable.ic_dialog_alert).setTitle(whatsNewTitle).setMessage(whatsNewText).setPositiveButton(
                R.string.ok, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                    }
                }).show();
        SharedPreferences.Editor editor = mPrefs.edit();
        editor.putBoolean(welcomeScreenShownPref, true);
        editor.commit(); // Very important to save the preference
    }

}
于 2013-04-23T07:30:52.123 に答える
0

これを試して :

     public class MainActivity extends Activity {

private Thread mSplashThread;

/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    try {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        setContentView(R.layout.splash);

        final MainActivity sPlashScreen = this;

        mSplashThread = new Thread() {
            @Override
            public void run() {
                try {
                    synchronized (this) {
                        wait(4000);
                    }
                } catch (InterruptedException ex) {
                }

                finish();
                Intent intent = new Intent();
                intent.setClass(sPlashScreen, StartNewActivity.class);// <-- Activity you want to start after Splash
                startActivity(intent);
            }
        };

        mSplashThread.start();
    } catch (Exception e) {
    }
}

@Override
public boolean onTouchEvent(MotionEvent evt) {
    try {
        if (evt.getAction() == MotionEvent.ACTION_DOWN) {
            synchronized (mSplashThread) {
                mSplashThread.notifyAll();
            }
        }
    } catch (Exception e) {
    }
    return true;

}

}

splash.xmlあなたは表示するために画像を入れます

于 2013-04-23T07:28:55.450 に答える