在android中更改首选项类别的文本颜色和水平颜色

时间:2014-09-10 17:10:55

标签: android android-preferences

我想更改“首选项”类别的颜色,并将默认水平线更改为蓝色。这可能吗?

我尝试使用以下内容为首选项设置设置主题:

<style name="myPreferenceTheme"   parent="@style/AppBaseTheme">
    <item name="android:textColor">@color/blue</item>
</style>

但我得到以下输出:

enter image description here

我的preference.xml看起来像这样:

<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
<PreferenceCategory
    android:title="ACCOUNT" >
    <Preference
        android:key="googleAccount"
        android:summary=""
        android:title="Google Account" >
    </Preference>
    <Preference
        android:key="signoutmenu"
        android:summary=""
        android:title="Sign out" >
    </Preference>
</PreferenceScreen>

有人可以帮我解决这个问题,比如上面截图中的show?

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以创建自定义PreferenceCategory并更改&#34; onBindView&#34;上的标题颜色。方法(在示例中,类别标题颜色更改为红色)。

public class MyPreferenceCategory extends PreferenceCategory {

    public MyPreferenceCategory(Context context) {
        super(context);
    }

    public MyPreferenceCategory(Context context, AttributeSet attrs) {
        super(context, attrs);
    }

    public MyPreferenceCategory(Context context, AttributeSet attrs,
        int defStyle) {
        super(context, attrs, defStyle);
    }

    @Override
    protected void onBindView(View view) {
        super.onBindView(view);
        TextView titleView = (TextView) view.findViewById(android.R.id.title);
        titleView.setTextColor(Color.RED);
    }

}

This link has the original solution from where I got this answer