启动画面和更改主题有问题吗?
Problem with Splash screen and changing Theme?
我添加了启动画面。如果我在设置片段中通过 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
更改应用程序主题,我将重定向到第一个片段(main\home 片段)。如果我从清单中删除飞溅一切都会好起来的!所以有什么问题?可能是我在创建 splash window 时弄错了吗?我想在更改主题后留在设置片段中。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.***********">
<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/Theme.Todo">
<activity
android:name=".SplashScreen"
android:label="@string/app_name"
android:theme="@style/splashScreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity"
android:theme="@style/Theme.Todo.NoActionBar">
</activity>
</application>
初始样式:
<style name="splashScreen" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:windowBackground">@drawable/background_splashscreen</item>
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColor</item>
<item name="colorPrimaryVariant">@color/primaryColor</item>
<item name="colorAccent">@color/primaryColor</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
</style>
Window 背景:
layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?attr/colorPrimary"/>
<item
android:gravity="center"
android:width="300dp"
android:height="300dp"
android:drawable="@drawable/ic_launcher_foreground"/>
</layer-list>
我正在使用
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.1'
和模板“Navigation Drawer Actyvity”(单个 Activity)
看起来你忘了完成你的飞溅 activity。
https://developer.android.com/reference/android/app/Activity#finish()
我添加了启动画面。如果我在设置片段中通过 AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
更改应用程序主题,我将重定向到第一个片段(main\home 片段)。如果我从清单中删除飞溅一切都会好起来的!所以有什么问题?可能是我在创建 splash window 时弄错了吗?我想在更改主题后留在设置片段中。
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.***********">
<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/Theme.Todo">
<activity
android:name=".SplashScreen"
android:label="@string/app_name"
android:theme="@style/splashScreen">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity android:name=".MainActivity"
android:theme="@style/Theme.Todo.NoActionBar">
</activity>
</application>
初始样式:
<style name="splashScreen" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<item name="android:windowBackground">@drawable/background_splashscreen</item>
<item name="colorPrimary">@color/primaryColor</item>
<item name="colorPrimaryDark">@color/primaryColor</item>
<item name="colorPrimaryVariant">@color/primaryColor</item>
<item name="colorAccent">@color/primaryColor</item>
<item name="android:navigationBarColor">@android:color/transparent</item>
</style>
Window 背景:
layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:drawable="?attr/colorPrimary"/>
<item
android:gravity="center"
android:width="300dp"
android:height="300dp"
android:drawable="@drawable/ic_launcher_foreground"/>
</layer-list>
我正在使用
implementation 'androidx.navigation:navigation-fragment-ktx:2.3.1'
implementation 'androidx.navigation:navigation-ui-ktx:2.3.1'
和模板“Navigation Drawer Actyvity”(单个 Activity)
看起来你忘了完成你的飞溅 activity。 https://developer.android.com/reference/android/app/Activity#finish()