Java 警报对话框样式未更改多选项文本颜色

Java 警报对话框样式未更改多选项文本颜色,java,android,android-alertdialog,Java,Android,Android Alertdialog,我正在使用一种样式来设置我的警报对话框的样式,正如您在下面所看到的,它的大多数样式都是设置好的,但是多选项没有得到颜色的改变。我也想有白色的复选框,但不知道如何做到这一点 警报对话框: android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this, R.style.AlertDialogDarkBlue); builder.setTitle("Faulty Part"); final Ar

我正在使用一种样式来设置我的警报对话框的样式,正如您在下面所看到的,它的大多数样式都是设置好的,但是多选项没有得到颜色的改变。我也想有白色的复选框,但不知道如何做到这一点

警报对话框:

android.app.AlertDialog.Builder builder = new android.app.AlertDialog.Builder(this, R.style.AlertDialogDarkBlue);

builder.setTitle("Faulty Part");

final ArrayList<Integer> selectedFaults = new ArrayList<>();

builder.setMultiChoiceItems(faultsList, null, new DialogInterface.OnMultiChoiceClickListener(){
    @Override
    public void onClick(DialogInterface dialog, int indexSelected, boolean isChecked) {
        if (isChecked) {
            // If the user checked the item, add it to the selected items
            selectedFaults.add(indexSelected);
        } else if (selectedFaults.contains(indexSelected)) {
            // Else, if the item is already in the array, remove it
            selectedFaults.remove(Integer.valueOf(indexSelected));
        }
    }
});

builder.setPositiveButton("Yes", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {

    }
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
    @Override
    public void onClick(DialogInterface dialog, int which) {
        dialog.dismiss();

        onResume();
    }
});

android.app.AlertDialog alert = builder.create();

alert.show();
android.app.AlertDialog.Builder=new android.app.AlertDialog.Builder(此为R.style.AlertDialogDarkBlue);
建造商名称(“故障部件”);
最终ArrayList selectedFaults=新ArrayList();
setMultiChoiceItems(faultsList,null,new DialogInterface.OnMultiChoiceClickListener()){
@凌驾
public void onClick(DialogInterface对话框,int indexSelected,boolean isChecked){
如果(已检查){
//如果用户选中了该项目,请将其添加到所选项目中
selectedFaults.add(indexSelected);
}else if(selectedFaults.contains(indexSelected)){
//否则,如果该项已在数组中,请将其删除
selectedFaults.remove(Integer.valueOf(indexSelected));
}
}
});
builder.setPositiveButton(“是”,新建DialogInterface.OnClickListener(){
@凌驾
public void onClick(DialogInterface dialog,int which){
}
});
setNegativeButton(“取消”,新建DialogInterface.OnClickListener()){
@凌驾
public void onClick(DialogInterface dialog,int which){
dialog.dismise();
onResume();
}
});
android.app.AlertDialog alert=builder.create();
alert.show();
AlertDialogBlue样式:

<style name="AlertDialogDarkBlue" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="android:textColor">@color/colorWhite</item>
    <item name="textColorAlertDialogListItem">@color/colorWhite</item>
    <item name="android:background">@color/colorDarkBlue</item>
</style>

@彩色/彩色白色
@彩色/彩色白色
@颜色/颜色深蓝色
它目前的样子:

  • 要将文本颜色固定为白色,只需在自定义样式中扩展
    AppCompat.Dark
    ,而不是
    AppCompat.Light

  • 要编辑
    复选框
    所选颜色,可以在自定义样式中覆盖
    颜色重音
    ,它将仅应用于使用该样式的元素

  • 这是一个例子:

    <style name="AlertDialogDarkBlue" parent="Theme.AppCompat.Dark.Dialog.Alert">
        <item name="android:textColor">@color/colorWhite</item>
        <item name="textColorAlertDialogListItem">@color/colorWhite</item>
        <item name="android:background">@color/colorDarkBlue</item>
        <!-- those to edit the color of checkboxes (I don't remember if both are needed or just one) -->
        <item name="android:colorAccent">@color/dialogCheckboxesColor</item>
        <item name="colorAccent">@color/dialogCheckboxesColor</item>
    </style>
    
    
    @彩色/彩色白色
    @彩色/彩色白色
    @颜色/颜色深蓝色
    @颜色/对话框复选框颜色
    @颜色/对话框复选框颜色
    

    希望这有助于

    尝试扩展
    AppCompat.Dark
    而不是
    AppCompat.Light
    是的,我将如何更改选中的复选框颜色抱歉是afk,回答如下