更改EditTextPreference的标题文本颜色

时间:2015-09-11 01:40:44

标签: android android-layout android-xml android-theme android-styles

如何在以下首选项XML中更改titlesummary的颜色:

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

我在styles.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似乎正确地改变了摘要的颜色。

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

1 个答案:

答案 0 :(得分:-1)

我认为最简单的方法是继承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." />