使用导航抽屉添加初始屏幕活动不起作用

时间:2019-01-17 11:30:54

标签: android crash splash-screen

我想向使用导航抽屉的新项目添加启动画面活动

崩溃

如果我不使用NavigationDrawer的话,它会很好的工作,我以前尝试过并且效果很好,但是当我想在包含NavigationDrawer的项目中有一个启动画面时,

image

,然后在

中向我的项目(飞溅活动)添加新的活动。

我的清单

我将启动活动更改为LAUNCHER 我改变了

   <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

对此

 <activity
        android:name=".Splash"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

和其他活动 我更改为

        <activity android:name=".MainActivity"></activity>

我的清单是

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="aa.cc.bb.bbb">

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity
        android:name=".Splash"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:name=".MainActivity"></activity>
</application>

飞溅活动

在启动活动中,我使用Thread转到另一个这样的活动 在onCreate

 thread = new Thread(new Runnable() {
        @Override
        public void run() {
            try {
                Thread.sleep(5000);
                Intent intent = new Intent(Splash.this, MainActivity.class);
                startActivity(intent);
                finish();  // if we want not to go back to splash screen again by press back , we should finish it
            } catch (InterruptedException e) {
                e.printStackTrace();
            }
        }
    });
    thread.start();

2 个答案:

答案 0 :(得分:1)

manifest.xml中使用:

<activity
        android:name=".MainActivity"
        android:theme="@style/AppTheme.NoActionBar">
 </activity>

答案 1 :(得分:0)

 new Handler().postDelayed(new Runnable() {

        /*
         * Showing splash screen with a timer. This will be useful when you
         * want to show case your app logo / company
         */

        @Override
        public void run() {
            // This method will be executed once the timer is over
            // Start your app main activity
             Intent i = new Intent(this, MainActivity.class);
        startActivity(i);
        finish();

        }
    }, 5000);

在清单中

<activity
    android:name=".MainActivity"
    android:theme="@style/AppTheme.NoActionBar">
 </activity>

在oncreate中使用此代码。