使用主题设置偏好屏幕

10

我想改变我正在开发的应用程序偏好设置屏幕的外观。在某些手机上,偏好设置非常半透明,很难阅读偏好设置方案,因此我要改变其视觉效果。

我的问题是如何将主题应用于偏好设置方案?如果无法实现,是否可以更改不同偏好显示的文本颜色。

在我的当前版本中,我的偏好布局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中应用了几个不同的主题,但都没有显示任何效果。我还尝试在单个偏好设置项和布局中设置android:textColor,但也没有效果。

那么,如何通过使用主题修改偏好设置方案的外观呢?

提前感谢,

Jay

1个回答

25
基本要素包括:
  1. 为您的首选项活动定义主题,该主题定义了偏爱小部件和其他内容的样式。查看themes.xml中的第一个主题-这定义了窗口背景、文本样式和偏好样式(preferenceScreenStyle, preferenceCategoryStyle等)
  2. 每个偏好小部件的一些样式(在themes.xml中引用)。例如,在styles.xml中,它们定义了Preference.CategoryPreference.PreferenceScreen样式。
  3. 将主题应用于您的Activity。在您的清单中,将打开活动标签更改为偏好活动的<activity android:theme="@style/CustomTheme"...

如果您想继承默认的Android样式,然后仅覆盖其中一些,请在您的主题的打开<style...标记中添加parent="@android:style/Theme"

有关更多信息,请参阅应用样式和主题


6
themes.xml: https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/themes.xml这是一个链接到Android平台源代码中主题定义的XML文件。 - HGPB
5
styles.xml: https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/styles.xml 样式表:https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/styles.xml - HGPB
1
更好的官方链接来自文档themes.xml - styles.xml - cprcrack

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接