Appcompact DialogFragment单选复选标记颜色

Gar*_*ark 6 android picker android-appcompat dialogfragment

我有个问题.我的活动有风格

<style name="MaterialTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="colorPrimary">@color/action_bar_background</item>
    <item name="colorPrimaryDark">@color/action_bar_background</item>
    <item name="colorAccent">@color/action_bar_background</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我也有一个简单的单选择选择器的dialogFragment.

@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
    final AlertDialog.Builder dialog = new AlertDialog.Builder(getActivity());
    dialog.setTitle(R.string.image_resolution);
    dialog.setSingleChoiceItems(R.array.quality_labels, getPosition(), this);
    return dialog.create();
}
Run Code Online (Sandbox Code Playgroud)

如何更改选择器复选标记的颜色(绿色圆圈)???在此输入图像描述

Paw*_*ski 7

您必须为其创建相应的样式 AlertDialog

<style name="MaterialThemeDialog" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="colorAccent">@color/action_bar_background</item>
</style>
Run Code Online (Sandbox Code Playgroud)

并将其传递给AlertDialog.Builder构造函数

@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
    final AlertDialog.Builder dialog = new AlertDialog.Builder(
            getActivity(),
            R.style.MaterialThemeDialog);
    dialog.setTitle(R.string.image_resolution);
    dialog.setSingleChoiceItems(R.array.quality_labels, getPosition(), this);
    return dialog.create();
}
Run Code Online (Sandbox Code Playgroud)


小智 1

ListAdapter您可以通过中的参数引用自定义单选按钮AlertDialog.Builder.setSingleChoiceItems(ListAdapter, int, OnClickListener)

这篇 SO 帖子中的答案明确了细节:Android Alert Dialog Replace default blue with another color

如需创建自定义组件的帮助,请查看:http://android-holo-colors.com