我可以通过编程方式更改强调色(AppCompat)吗?

kry*_*115 5 android android-appcompat android-styles

我有:

<style name="AppTheme" parent="Theme.AppCompat">
    <item name="colorAccent">@color/myColor</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但我希望允许用户更改强调色.我可以用AppCompat做到吗?

Bla*_*der 6

不,你不能,因为重点颜色是在主题中定义的,主题在Android中是只读的.

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

注意:您可以将主题应用于UI的一部分而不是整个活动,以便在本地更改强调颜色(或其他内容).为此,您可以android:theme将XML布局中的属性与AppCompat库一起使用,或者通过为ContextThemeWrapper您的内容提供上下文来扩展布局LayoutInflater.

  • 好的,如何设置组件的颜色? (3认同)