我希望能够根据用户选择更改应用程序主颜色。
我有一个colors.xml文件,我在其中创建了一种颜色
<color name="myappcolor">#99CC00</color>
应用程序中的所有组件(如按钮背景等)都使用此颜色作为背景。
android:color="@color/myappcolor"
我是否可以根据用户在应用程序中选择的选项更改 colors.xml 文件中的颜色代码。
例如将其更改为应用程序颜色更改 - 我知道可能需要重新启动应用程序。
<color name="myappcolor">#FF0000</color>
如果无法动态修改 colors.xml - 我是否可以就如何实现此目标提出其他建议。
谢谢。
答案 0 :(得分:1)
你应该保持当前选择在SQLite
或SharedPreference
和colors.xml
中具有所有颜色,根据用户选择你可以动态修改选择颜色。使用存储中的color
来应用主题
答案 1 :(得分:0)
保存共享首选项中颜色的资源ID。假设当用户按绿色时,将共享首选项中的值R.color.green
保存为 userColor 键。无论您需要设置用户首选项的颜色,都可以将其设置为
setBackgroundResource(prefs.getInt("userColor",R.color.white)
或类似的东西。然后默认情况下会变为白色。但是,如果用户选择白色或蓝色,则会获得该用户指定的颜色。