使用主题为首选项屏幕

时间:2011-04-06 05:29:47

标签: android themes preferences

我希望更改我正在处理的应用的首选项屏幕外观。在某些手机上,首选项是非常半透明的,并且很难阅读首选项方案,因此我将更改它的视觉效果。

我的问题是如何将主题应用于偏好计划?或者如果不这样做,我如何更改显示各种首选项的文本颜色。

在我当前的版本中,我的首选项布局xml文件以:

开头
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ffa0a0a0">

这种背景颜色给了我一个可接受的灰色,但我更喜欢使用主题。

我尝试在首选项xml和首选项布局xml中应用几个不同的主题,但这些都没有显示任何效果。我也尝试为各个首选项和布局设置andoid:textColor,但没有效果。

那么如何修改首选项方案的视觉效果(最好是使用主题)?

提前感谢,

1 个答案:

答案 0 :(得分:24)

基本的事情是:

  1. 首选项活动的主题,用于定义首选项小部件和其他内容的样式。看看themes.xml中的第一个主题 - 它定义了窗口背景,文本样式和首选项样式(preferenceScreenStylepreferenceCategoryStyle等)
  2. 每个首选项小部件的某些样式(在themes.xml中引用)。例如,在styles.xml中,他们定义了Preference.CategoryPreference.PreferenceScreen样式。
  3. 将主题应用于您的活动。在您的清单中,将您的偏好活动的开放活动标记更改为<activity android:theme="@style/CustomTheme"...
  4. 如果您想继承默认的Android样式,然后只覆盖其中的一些,请将parent="@android:style/Theme"添加到主题的开头<style...标记中。

    请查看Applying Styles and Themes了解详情。