使用 Kotlin 以编程方式更改 Android Studio 应用主题

问题描述 投票:0回答:1

我正在使用 Kotlin 制作 Android 应用程序。它包含应用程序主题颜色列表,以便用户可以从中选择一种颜色,然后我将该颜色保存在共享首选项中。

我已经完成了所有共享首选项和 XML 值的操作,并且我成功地在设置活动中顺利更改了主题,当我重新打开应用程序时,我在设置活动中成功找到了保存的颜色。

问题是:更改仅发生在设置活动上,而不是在整个应用程序中,如果我想影响所有活动,我应该在每个活动的

setTheme()
中使用
onCreat()
。 我不想这样做,因为我的应用程序有很多活动。

是否有更好的方法来实现这一目标。

我尝试在

setTheme()
类上调用
Application
方法,但它不起作用。

android kotlin android-theme
1个回答
0
投票

我知道您不想在每个活动中都这样做,但是对于活动来说,除了在每个活动中设置主题之外没有其他方法。

我建议您创建抽象父级,例如

BaseActivity
并在
setTheme()
内致电
onCreate()
。然后您将更新您的活动只是为了延长
BaseActivity
并确保您正在拨打
super.onCreate()

它比单独将代码粘贴到每个活动中更快,并且是更好、更可扩展的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.