我已经为我的应用程序实现了材质设计,我希望用户能够自定义colorPrimary,colorPrimaryDark和colorAccent的颜色。怎么做?
我想要一个设置活动,用户可以选择自己的颜色,更改将应用于我的所有活动。感谢。
<style name="MyTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
答案 0 :(得分:0)
根据您是否允许用户从静态颜色列表或颜色选择器中进行选择,您可以保存他们在SharedPreferences中选择的颜色,并在应用启动时将其拉出。不幸的是,这意味着你必须设置你使用这些颜色的所有视图的颜色为via代码而不是xml,因为主题是不可变的。看看这篇文章:How to _really_ programmatically change primary and accent color in Android Lollipop?你可以从devconsole的答案中采取这种方法; https://stackoverflow.com/a/37905131/3314615