根据android:图标动态更改应用程序主题
我已经从android manifest将闪屏集成到我的应用程序中,我给了它一个新制作的根据android:图标动态更改应用程序主题,android,android-manifest,splash-screen,android-theme,android-launcher,Android,Android Manifest,Splash Screen,Android Theme,Android Launcher,我已经从android manifest将闪屏集成到我的应用程序中,我给了它一个新制作的SplashTheme,每当onActivityCreated调用时,我都会将其更改为所需的。现在,在splash.xml文件中,您可以看到以下内容: 我将我的启动器ic_launcher放在中间,但当安装应用程序的设备使用圆形图标时,启动屏幕仍显示“原始”图标。我知道,因为我在这里放置了ic_launcher而不是ic_launcher\u round,但我想让这部分动态化,以识别设备是否使用圆形
SplashTheme
,每当onActivityCreated
调用时,我都会将其更改为所需的。现在,在splash.xml
文件中,您可以看到以下内容:
我将我的启动器ic_launcher
放在中间,但当安装应用程序的设备使用圆形图标时,启动屏幕仍显示“原始”图标。我知道,因为我在这里放置了ic_launcher
而不是ic_launcher\u round
,但我想让这部分动态化,以识别设备是否使用圆形图标放置ic_launcher\u round
,反之亦然
以下是我的AndroidManifest.xml
的一部分:
好吧,你无法实现你期望的行为,仅仅是因为不存在一个API,它将为你提供当前启动器是使用圆形图标还是默认图标 相反,您应该以一种不依赖于设备的默认启动器实现的方式构建初始屏幕。通常,无论启动器使用圆形或普通图标,您都应该具有相同的图像
将启动程序图标放在一边,创建专门用于启动屏幕的资源。尝试阅读有关
自适应图标
和圆形图标
。。。
<item>
<color android:color="@color/colorPrimary" />
</item>
<item>
<bitmap
android:gravity="center"
android:src="@mipmap/ic_launcher" />
</item>