最佳答案
首先,这个问题提出了一个非常类似的问题。然而,我的问题有一个微妙的区别。
我想知道的是,是否可以通过编程方式将主题的 colorPrimary
属性更改为 任意颜色?
例如,我们有:
<style name="AppTheme" parent="android:Theme.Material.Light">
<item name="android:colorPrimary">#ff0000</item>
<item name="android:colorAccent">#ff0000</item>
</style>
在运行时,用户决定使用 #ccffff
作为主色。当然,我不可能为所有可能的颜色创建主题。
我不介意我必须做一些无聊的事情,比如依赖于 Android 的私有内部机制,只要它能使用公共 SDK 就行。
我的目标是最终让 ActionBar
还有所有的小部件像 CheckBox
一样使用这个主色调。