我跟着this link 创建一个SplashActivity,在加载MainActivity时显示一个小图标。 Everythink工作正常,我可以成功实现图标。现在我尝试更改SplashActivity的图标,但问题是我的设备上的应用程序中的图标未更新。我在代码中更改的所有其他内容都将更新成功,期待主题。
window_background.xml:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
android:opacity="opaque">
<item android:drawable="@color/white"/>
<item>
<bitmap
android:src="@drawable/logo"
android:gravity="center"/>
</item>
</layer-list>
styles.xml:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
<style name="AppTheme.LauncherTheme">
<item name="android:windowBackground">@drawable/window_background</item>
</style>
的AndroidManifest.xml:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme">
<activity android:name=".SplashActivity"
android:theme="@style/AppTheme.LauncherTheme"
android:screenOrientation="sensorPortrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
...
</application>
我几乎尝试了所有更新代码(Clean Project,Rebuild Project,Invalidate Caches,重启Android Studio,在设备上删除App等),但只是主题在设备上无法正常工作,其他一切正常。
有没有人有解决方案如何显示正确的主题?
修改 即使我从mainfest文件中删除主题,主题仍然存在..
编辑2: 我发现当前显示的图标是标准的ic_launcher图标,它位于中间。所以window_background.xml完全被主题忽略,我仍然不知道为什么。我还尝试将不同的主题设置为AppTheme.LauncherTheme的父级,但它不会改变任何内容。如果我删除AppTheme.LauncherTheme,那么SplashActivity将是emtpy并且ic_launcher图标将被删除。
答案 0 :(得分:0)
AppTheme.LauncherTheme
应扩展其中一个Theme.AppCompat
主题。我建议这样的解决方案:
<style name="AppTheme.LauncherTheme" parent="AppTheme">