使用主题为首选项屏幕

jbw*_*bww 9 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">
Run Code Online (Sandbox Code Playgroud)

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

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

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

提前致谢,

松鸦

Jos*_*arl 24

基本的东西是:

  1. 您的首选项活动的主题,它定义首选项小部件和其他内容的样式.看看在第一个主题的themes.xml -这个定义窗口背景,文字风格和偏好的风格(preferenceScreenStyle,preferenceCategoryStyle等等)
  2. 每个首选项小部件的某些样式(在其中引用themes.xml).例如,在styles.xml中,他们定义Preference.CategoryPreference.PreferenceScreen样式.
  3. 将主题应用于您的活动.在您的清单中,将您的首选项活动的开放活动标记更改为<activity android:theme="@style/CustomTheme"...

如果您想继承默认的Android样式,然后只是覆盖它们中的一些,那么添加parent="@android:style/Theme"<style...主题的开始标记.

参阅应用样式和主题以获取更多信息.

  • 主题.xml:https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/themes.xml (5认同)
  • 样式.xml:https://github.com/android/platform_frameworks_base/blob/master/core/res/res/values/styles.xml (4认同)