本文讲述了Android设置PreferenceCategory背景颜色的方法。分享给大家供大家参考。(参考文章 Android设置PreferenceCategory背景颜色)
具体分析如下:
大家可能遇到,PreferenceCategory默认是黑色背景,而且默认情况下PreferenceCategory的title会将英文字母全部转为大写,看起来很不协调,那么怎么更改背景呢?我们可以通过自定义VIEW来实现。
只需要两步:
1、编写一个自定义类,继承自PreferenceCategory,里面可以设置文本颜色、字体大小、控制文本大小写等。
代码如下:
//自定义PreferenceCategory类,可以设置PreferenceCategory的title的字体大小、颜色,控制大小写等。
public class MyPreferenceCategory extends PreferenceCategory{
public MyPreferenceCategory(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
protected void onBindView(View view) {
super.onBindView(view);
if (view instanceof TextView) {
TextView tv = (TextView) view;
tv.setTextSize(12);//设置title文本的字体大小
tv.setAllCaps(false);//设置title文本不全为大写
tv.setTextColor(Color.parseColor("#34b5e5"));//设置title文本的颜色
}
}
}
2、在xml调用时,把原来使用<PreferenceCategory></PreferenceCategory>的地方换成你自定义的MyPreferenceCategory 类的工程相对路径,如下面的
cl.fjnu.edu.cn.android_lab.lab4_SettingActivityTest.MyPreferenceCategory:
<cl.fjnu.edu.cn.android_lab.lab4_SettingActivityTest.MyPreferenceCategory
android:title="In-line preferences">
<CheckBoxPreference
android:key="checkboxPref"
android:title="Checkbox preferences"
android:summary="This is a checkbox."
android:defaultValue="false">
</CheckBoxPreference>
</cl.fjnu.edu.cn.android_lab.lab4_SettingActivityTest.MyPreferenceCategory>
这样就实现了自定义PreferenceCategory。