繁体   English   中英

Android设置启动画面(活动)就像Iphone Part1

[英]Android Setting Up Splash Screen(Activity) Like Iphone Part1

我有三个图像,我想让它们出现在第一个布局xml上,就像一个启动视图,这样它们只能被查看一次,即只有当app安装完成后才会调用一次活动,或者如果app得到一个新的更新,否则app应该总是从第二个活动开始,我不知道我应该从这个开始:

在此输入图像描述

任何人都可以告诉我如何做到这一点。

仅显示一次飞溅。

这个问题的下一部分就在这里

编码将非常感激。

完成欢迎屏幕后,在启动应用程序时,在首选项中保存一个标志。 在显示欢迎屏幕之前检查此标志。 如果该标志存在(换句话说,如果它不是第一次),请不要显示它。

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
    }

}

尝试这个 :

     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;

}

}

你把一个Image放在splash.xml来显示

为此,您必须检测应用程序的首次启动。 为此,您可以存储@Nirav建议的布尔值。

对于启动画面,您可以考虑使用FragmentsViewPager来创建仅在第一次显示的活动

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM