如何在android中添加启动画面和简介屏幕?

时间:2017-03-21 18:17:22

标签: android

sub_d$b

}

我是android app dev的初学者。我试图在用户进入屏幕时第一次显示Intro屏幕(使用AppIntro库),第二次应用程序应该显示启动画面?

当我遵循上述代码时,我收到以下错误?

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
    boolean isStart = getPrefs.getBoolean("firstStart",true);
    if(!isStart){
        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                Intent homeIntent = new Intent(MainActivity.this,HomeAcitivity.class);
                startActivity(homeIntent);
                finish();
            }
        },3000);
    }
    else{
        Intent intent = new Intent(MainActivity.this,IntroActivity.class);
        startActivity(intent);

    }

    SharedPreferences.Editor e =getPrefs.edit();
    e.putBoolean("firstStart",false);
    e.apply();

}

1 个答案:

答案 0 :(得分:0)

请使用此代码,如果不符合您的期望,它将对您有用并稍加修改

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    //Fabric.with(this, new Crashlytics());
    setContentView(R.layout.activity_splash);


    Thread timerThread = new Thread(){
        public void run(){
            try{
                sleep(3000);
            }catch(InterruptedException e){
                e.printStackTrace();
            }finally{

                    SharedPreferences getPrefs = PreferenceManager.getDefaultSharedPreferences(getBaseContext());
                    boolean isStart = getPrefs.getBoolean("firstStart",true);

                if (!isStart){
                        Intent homeIntent = new Intent(MainActivity.this,HomeAcitivity.class);
                        startActivity(homeIntent);
                        finish();
                }else{
                        Intent intent = new Intent(MainActivity.this,IntroActivity.class);
                        startActivity(intent);
                }

                SharedPreferences.Editor e =getPrefs.edit();
                e.putBoolean("firstStart",false);
                e.apply();
            }
        }
    };
    timerThread.start();
}
相关问题