我可以以编程方式更改强调色 (AppCompat) 吗?
Can i change accent color (AppCompat) programmatically?
我有:
<style name="AppTheme" parent="Theme.AppCompat">
<item name="colorAccent">@color/myColor</item>
</style>
但我想允许用户更改强调色。我可以用 AppCompat 做吗?
不可以,因为强调色是在主题中定义的,而主题在 Android 中是只读的。
您唯一能做的就是切换主题或手动设置每个组件的颜色。
注意:您可以将主题应用到 UI 的一部分而不是整个 Activity 以更改强调色(或其他东西)本地。为此,您可以通过 AppCompat 库在 XML 布局中使用 android:theme
属性,或者您可以通过提供 ContextThemeWrapper
作为 LayoutInflater
的上下文来扩充布局.
我有:
<style name="AppTheme" parent="Theme.AppCompat">
<item name="colorAccent">@color/myColor</item>
</style>
但我想允许用户更改强调色。我可以用 AppCompat 做吗?
不可以,因为强调色是在主题中定义的,而主题在 Android 中是只读的。
您唯一能做的就是切换主题或手动设置每个组件的颜色。
注意:您可以将主题应用到 UI 的一部分而不是整个 Activity 以更改强调色(或其他东西)本地。为此,您可以通过 AppCompat 库在 XML 布局中使用 android:theme
属性,或者您可以通过提供 ContextThemeWrapper
作为 LayoutInflater
的上下文来扩充布局.