ListPreferenceHey我使用PreferenceActivity并使用ListPreference为其添加了单选按钮。问题是listPreference使用它自己的对话框,它有蓝色单选按钮(棒棒糖上的绿色),我需要将其更改为橙色。 我设法得到对话框并使用以下内容更改标题和分隔符颜色:
listPreference.setOnPreferenceClickListener(new Preference.OnPreferenceClickListener() {
@Override
public boolean onPreferenceClick(Preference preference) {
AlertDialog dialog = (AlertDialog) listPreference.getDialog();
if (dialog != null) {
changeDialog(getApplicationContext(), dialog);
}
return true;
}});
public void changeDialog(Context context, final AlertDialog dialog) {
int titleViewId = dialog.getContext().getResources().getIdentifier("android:id/alertTitle", null, null);
TextView title = (TextView) dialog.findViewById(titleViewId);
title.setTextColor(context.getResources().getColor(R.color.orange));
}
因此,如果标题ID为" android:id / alertTitle"并且divder id是" android:id / titleDivider",单选按钮的id是多少?
答案 0 :(得分:0)
我的解决方案是更改 colors.xml
文件中的颜色。
所以,起初我在我的 colors.xml
中有这个:
<!-- skyblue color -->
<color name="teal_200">#FF03DAC5</color>
ListPreferense
单选按钮的颜色是天蓝色。我想到将 colors.xml
中的颜色更改为绿色,如下所示:
<!-- green color -->
<color name="teal_200">#1ED760</color>
它奏效了! ListPreferense
的单选按钮颜色变为绿色。
答案 1 :(得分:0)
正确的做法是在主题中使用 <item name="colorAccent">YOUR COLOR</item>