android - 使用首选项屏幕的主题

标签 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. 您的首选项 Activity 的主题,它定义了首选项小部件和其他内容的样式。看看themes.xml中的第一个主题- 这定义了窗口背景、文本样式和首选项样式(preferenceScreenStylepreferenceCategoryStyle 等)
  2. 每个首选项小部件的一些样式(在 themes.xml 中引用)。例如在 styles.xml他们定义了 Preference.CategoryPreference.PreferenceScreen风格。
  3. 将主题应用到您的 Activity 中。在您的 list 中,将您的首选项 Activity 的开始 Activity 标签更改为 <activity android:theme="@style/CustomTheme"...

如果你想继承默认的 Android 样式然后只覆盖其中的一些样式,那么添加 parent="@android:style/Theme"到开幕<style...您的主题标签。

看看Applying Styles and Themes获取更多信息。

关于android - 使用首选项屏幕的主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5561874/

相关文章:

android - 是否可以根据平台使用不同的 MainActivity?

wpf - 如何使用 ShinyRed WPF 样式?

java - 在 Android 中访问 Gmail 电子邮件

java - 如何在特定时间段后将新 url 加载到 web View 中?

android - 从线性布局获取位图时为空指针

android - API 21 (Lollipop) Android 上的主题对话框

templates - Drupal 用户配置文件页面中的自定义菜单选项卡

android - Libgdx:如何保存首选项?

java - Android - 应用程序不断因错误而崩溃 - 我认为这与首选项 fragment 有关

java - Java 首选项存储在 Windows 7 中的什么位置?