【问题标题】:Dynamically change application theme depending on android:icon根据 android:icon 动态更改应用程序主题
【发布时间】:2018-02-21 11:39:39
【问题描述】:

我已将启动屏幕从 android manifest 集成到我的应用程序中,我给它一个新制作的 SplashTheme,每当调用 onActivityCreated 时,我都会将其更改为所需的。现在,在splash.xml 文件中,您可以在下面看到:

<item>
    <color android:color="@color/colorPrimary" />
</item>

<item>
    <bitmap
        android:gravity="center"
        android:src="@mipmap/ic_launcher" />
</item>

我将我的启动器ic_launcher 放在中间,但是当安装了应用程序的设备使用圆形 图标时,启动画面仍然显示“原始”图标。我知道是因为我放在这里 ic_launcher 而不是 ic_launcher_round 但我想让这部分动态化,以识别设备是否使用圆形图标放置 ic_launcher_round 和相反。

这是我AndroidManifest.xml的一部分:

【问题讨论】:

标签: android android-manifest splash-screen android-theme android-launcher


【解决方案1】:

Afaik,您无法实现您所期望的行为,仅仅是因为存在一个 API,可以为您提供当前启动器是使用圆形图标还是默认图标。

相反,您应该以一种不依赖于设备默认启动器实现的方式构建启动画面。通常,无论启动器使用圆形图标还是普通图标,您都应该拥有相同的图像。

将启动器图标放在一边,并创建一个专门用于启动屏幕的资源。

【讨论】:

    猜你喜欢
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-15
    • 1970-01-01
    相关资源
    最近更新 更多