如何在Cordova应用程序中在Android上启用实质性本机主题

你可能会注意到, 即使使用最新版本的cordova(到日期6.0), 默认情况下, cordova(或离子或电话间隙)应用程序的操作栏仍具有深色主题, 这意味着当你选择文本时, 指针将看起来像这个 :

全息主题安卓

在Android棒棒糖(<5)之前, 这是这些版本的默认主题, 并且材质主题不可用。但这不是一个大问题, 因为我们对此无能为力(除非你决定将混合应用程序更改为本机应用程序), 问题是默认情况下, 即使对于Android棒棒糖或更高版本, 此主题也已为cordova应用程序启用!

对于Android棒棒糖, 默认主题应为材料, 如下所示:

Android棒棒糖

令人沮丧的是, 没有启用这种简单功能, 如果你幸运的是, 如果你在Cordova应用程序中必须(或想要)此功能, 则解决方案非常简单。

注意:如果你已经了解了如何在google中解决此问题, 那么在绝望中只需向AndroidManifest.xml添加一行并强制进行构建即可。但是, 这不是正确的解决方案, 因为你可能在每次构建应用程序时都需要添加该行, 这可能会让人头疼。

要在可用的项目中使用素材主题(棒棒糖或更高版本), 我们将cordova-custom-config插件添加到我们的项目中。

$ cordova plugin add cordova-custom-config
# or phonegap
$ phonegap plugin add cordova-custom-config

该插件允许你基于首选项和config.xml中定义的配置文件数据来更新平台配置文件, 因为默认情况下此功能不适用于框架。

安装后, 我们将只修改项目的config.xml文件, 然后添加以下行:

<preference name="android-manifest/application/activity/@android:theme" value="@android:style/Theme.DeviceDefault" />

该行将使用我们应用中设备的默认主题(棒棒糖或更高版本的材料)。然后构建应用程序, 看看魔术发生了!

注意:你可以根据自己的喜好在半透明, 深色或其他主题之间进行选择(了解有关android主题的更多信息), 但是请注意, 某些主题可能在某些android版本中不可用。本文仅针对我们的应用程序至少与实际操作系统具有相同的样式, 以便为我们在Android上的混合应用程序增加”原生”感觉。

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?