当前位置: 首页 > 知识库问答 >
问题:

如何更改首选项碎片中首选项的文本颜色?

沈俊美
2023-03-14

我已经阅读了几十篇文章,解释了如何在PreferenceActivity中更改首选项的文本颜色。我没有偏好活动。我在res/xml中使用PreferenceFragment和PreferenceScreen

设置片段

public class SettingsFragment extends PreferenceFragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
        View view = super.onCreateView(inflater, container, savedInstanceState);
        view.setBackgroundColor(getResources().getColor(R.color.colorPrimary));
        return view;
    }

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences); // the settings XML here (not the layout)

    }
}

fragment\u设置。xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <android.support.v7.widget.Toolbar
        android:id="@+id/toolbar"
        style="@style/AppTheme2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />

    <FrameLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" />
</LinearLayout>

偏好。xml

<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android">

    <PreferenceCategory
        android:title="General">

        <CheckBoxPreference
            android:key="pref_example_checkbox"
            android:title="first box"
            android:summaryOn="This is enabled"
            android:summaryOff="This is disabled"
            android:defaultValue="false" />
    </PreferenceCategory>

    <PreferenceCategory
        android:title="Notifications">

        <SwitchPreference
            android:key="pref_enable_notifications"
            android:title="Notifications on/off"
            android:defaultValue="true" />

        <EditTextPreference
            android:key="pref_notification_time"
            android:title="Notification time"
            android:summary="Some shit about notifications"
            android:inputType="number"
            android:dialogMessage="Dialog message!"
            android:defaultValue="5" />
    </PreferenceCategory>

    <PreferenceCategory
        android:title="About">

        <Preference
            android:key="pref_about_licenses"
            android:title="Licenses" />

        <Preference
            android:key="pref_about_app_version"
            android:title="Version" />
    </PreferenceCategory>

</PreferenceScreen>

我尝试将android: text Color="@Color/White"添加preferences.xml中的所有首选项中,但所有文本仍然是黑色的。所有这些线程都在谈论创建一种新样式,但没有一个解释如何将其应用于首选项片段。

首选项活动将显示在清单中,在清单中可以轻松应用样式。但是对于首选项片段,清单中没有条目。此外,似乎必须有一种比创建全新样式更快的方法来将文本颜色应用到首选项屏幕。

共有2个答案

娄利
2023-03-14

检查以覆盖style.xml中的此内容

<item name="android:textColor">@color/color_text</item>
<item name="android:textColorPrimary">@color/color_text</item>
<item name="android:textColorSecondary">@color/color_text</item>

textColorSecondary似乎由设置的摘要、textColorBy设置的标题和textPrimary idk使用(:

慕容博涛
2023-03-14

将此添加到主题

///首选项片段字体颜色

<item name="android:textColorPrimary">@color/white_font_color</item>
<item name="android:textColorSecondary">@color/nice_grey_dark</item>
<item name="android:textColorTertiary">@color/white_font_color</item>
 类似资料:
  • 我有一个设置xml文件,其中有checkboxpreferences和一个switchpreference,当我切换到暗模式时,开关和复选框的颜色不会根据所选模式自动改变这里是我所说的图像 所以switchpreference应该是白色的,当应用程序是暗模式,但它没有改变,谁能帮助我修复它,谢谢 *这是我的设置xml文件

  • 我花了几天的时间寻找这个问题,但是找不到一个我现在能设法解决的答案。 我想允许用户在列表中为整个应用程序选择不同的主题,以满足白天/夜间的需要。问题是我无法找到更改ListPreference行Item textColor的文本颜色的方法。我找到的一些解决方案是关于使用属性 以设置该文本。然而,这在我使用API 11的测试中没有影响。经过多次尝试,我得到的结果几乎总是相同的:当为应用程序设置不同的

  • 我的xml代码如下: 我怎么在这里更改标题的颜色?我对android很陌生。

  • 我想要一个首选项标题的文本,以便在另一个首选项(a)更改时将其颜色更改为白色。当另一个首选项被更改时,我将从侦听器调用此方法: 现在有两种情况: 1) 如果我在方法中返回true,则的开关将正确更改(意味着在启用或禁用的新状态下向左或向右滑动),但受影响首选项的标题颜色不会更改。 2) 如果我在首选项更改中返回false,开关不会改变,但是标题文本的颜色会突然改变。 我怎样才能正确地做呢?

  • 我已经将背景颜色更改为我的首选屏幕,但标题栏的行为很奇怪。 我在清单中为偏好活动设置了以下主题: 这是可行的,但标题栏现在看起来是这样的: 我试着玩了一堆其他属性来改变它,但找不到正确的。 谢谢 史蒂夫 编辑: 查看编辑文本弹出窗口,它们也发生了变化 我试图改变弹出窗口,但没有用

  • 13.3.1.更新首选项 在将用户的位置信息广播出去之前,我们需要事先征得用户本人的同意。这不只是个人偏好,更牵涉到个人隐私。首选项就是询问用户本人意愿的一个好地方。在这里,我们可以使用ListPreference。它可以提供一列选项,同时为每个选项对应一个值。 为此我们在strings.xml中添加两列string资源:一列给用户看,表示选项的正文;一列表示每一选项对应的值。修改后的string