在Android中以编程方式设置主题

时间:2014-01-05 10:22:08

标签: android xml

我之前在Android中已经看过这个,所以我知道这是可能的。我想添加一个使用listPreference更改应用主题的首选项。我一直在摆弄一些XML代码,但我仍然坚持使用Java部分。

以下是我的settings.xml文件中的listPreference:

<ListPreference
        android:entries="@array/Theme"
        android:entryValues="@array/themeAlias"
        android:key="theme_chooser"
        android:title="Theme"
        android:summary="Change the theme of the main activity." />

这是我的array.xml文件中的字符串数组:

<string-array name="Theme">
        <item>Default Theme</item>
        <item>Holo Light</item>
</string-array>
<string-array name="themeAlias">
        <item>"default"</item>
        <item>"light"</item>
</string-array>

现在这里有一些我不知道如何写入实际代码的伪代码:

Find the listPreference
   if preference is equal to default
       set the main activity's theme to custom a theme
   else
       set the theme to a standard light theme

我已经完成了大约20次谷歌搜索,所有我得到的是一堆主题应用程序和博客文章关于如何像老板一样主题你的Android手机...我想让用户主题我的应用程序像老板!

提前致谢,

安德鲁

1 个答案:

答案 0 :(得分:1)

查看此answer,建议为基本活动设置主题,该活动将通过您应用的所有活动进行扩展。