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

更改EditTextPreference的标题文本颜色

归星驰
2023-03-14

如何更改以下首选项XML中标题摘要的颜色:

<EditTextPreference
    android:key="username"
    android:title="Your Name"
    android:summary="Please provide your username." />

我尝试了我的风格。xml

<style name="SettingsTheme" parent="@style/AppBaseTheme">
    <item name="android:textColorPrimary">@color/green</item>
    <item name="android:textColorSecondary">@color/red</item>
    <item name="android:textColorTertiary">@color/blue</item>
</style>

textColorPrimary更改标题的颜色,但它也会更改我工具栏中文本的颜色(我不想要)。

textColorSecond似乎正确地更改了摘要的颜色。

如何在不影响工具栏文本颜色的情况下更改标题颜色?

共有2个答案

赵选
2023-03-14

我认为最简单的方法是将EditTextPreference子类化,并在onCreateView()onBindView()中调整标题颜色。

public class MyEditTextPreference extends EditTextPreference {

    // constructors omitted

    @Override
    protected void onBindView(View view) {
        TextView titleView = (TextView) view.findViewById(android.R.id.title);
        int color = getContext().getResources().getColor(R.color.preference_title);
        titleView.setTextColor(color);
    }
}

然后在您的首选项XML中,您将使用您的类(完全限定的名称):

<com.package.MyEditTextPreference
    android:key="username"
    android:title="Your Name"
    android:summary="Please provide your username." />
劳华灿
2023-03-14

您需要像这样明确地定义EditText首选项的样式:

<style name="SettingsTheme" parent="@style/AppBaseTheme">
    <item name="android:editTextPreferenceStyle">@style/MyStyle</item>
</style>

<style name="MyStyle" parent="@android:style/Preference.DialogPreference.EditTextPreference">
    ...
</style>

然后,这会将您在MyStyle中定义的任何样式设置为EditTextPreference默认样式之前的位置。

 类似资料:
  • 标题文字颜色的动作是不改变的,如何改变标题文字颜色的动作栏?这是我的风格。xml 风格xml

  • 问题内容: 我想在字体为时使用光标。 那可能吗? 问题答案: 您可以定制一个。

  • 我一直试图改变我的时间选择器的文本颜色。但是我找不到父样式的位置。我两个都试过了 和 我的是15。我的是20。我已经重建并清理了我的项目 我想我已经解决了所有类似的问题,但没有一个真正为我提供了解决方案。唯一可行的答案是使用某种库,但我不太喜欢这种解决方案。到父级的路径是否与我正在使用的路径有所不同,因为我非常确定我应该能够以某种方式访问它? 编辑 这是主题的应用方式; 请注意,这是我收到的错误(

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

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

  • 问题内容: 我想更改与数组索引匹配的UITextView中特定文本的文本颜色。我能够略微修改此答案,但不幸的是,每个匹配短语的文本颜色仅更改了一次。 问题答案: 抱歉,我刚注意到您的消息。这是一个工作示例(在操场上测试):