我可以通过编程更改 AppCompat 的强调颜色吗?

6

我有:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="colorAccent">@color/myColor</item>
</style>

但是我希望允许用户更改强调色。我能用AppCompat实现吗?


1
如果您正在使用AppCompat,则应该在主题中定义colorAccent,而不是android:colorAccent。 - BladeCoder
1个回答

6

不行,因为在Android中主题中定义了强调颜色,而主题是只读的。

你唯一能做的就是切换主题或手动设置每个组件的颜色。

注意:你可以将主题应用于UI的一部分,而不是整个Activity以便本地更改强调颜色(或其他内容)。为此,你可以使用XML布局中的android:theme属性与AppCompat库,或通过提供一个ContextThemeWrapper作为上下文来充气布局。


3
好的,如何设置组件的颜色? - krystian71115
这取决于组件,有时无法通过编程设置。 - BladeCoder

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接