Android修改colors.xml用于不同的主题

时间:2014-02-17 11:38:05

标签: android colors android-xml android-theme

我希望能够根据用户选择更改应用程序主颜色。

我有一个colors.xml文件,我在其中创建了一种颜色

<color name="myappcolor">#99CC00</color>

应用程序中的所有组件(如按钮背景等)都使用此颜色作为背景。

android:color="@color/myappcolor"

我是否可以根据用户在应用程序中选择的选项更改 colors.xml 文件中的颜色代码。

例如将其更改为应用程序颜色更改 - 我知道可能需要重新启动应用程序。

<color name="myappcolor">#FF0000</color>

如果无法动态修改 colors.xml - 我是否可以就如何实现此目标提出其他建议。

谢谢。

2 个答案:

答案 0 :(得分:1)

你应该保持当前选择在SQLiteSharedPreferencecolors.xml中具有所有颜色,根据用户选择你可以动态修改选择颜色。使用存储中的color来应用主题

答案 1 :(得分:0)

保存共享首选项中颜色的资源ID。假设当用户按绿色时,将共享首选项中的值R.color.green保存为 userColor 键。无论您需要设置用户首选项的颜色,都可以将其设置为

setBackgroundResource(prefs.getInt("userColor",R.color.white)

或类似的东西。然后默认情况下会变为白色。但是,如果用户选择白色或蓝色,则会获得该用户指定的颜色。