builder.setInverseBackgroundForced(true) 不起作用

qub*_*ubz 5 android background android-alertdialog

我在我的代码中 setInverseBackgroundForced 设置为 true,但它似乎不起作用。该代码在深色背景上生成白色文本。

这是我的构建器代码:

public class test {
    private void createMyLocationDisabledAlert() {
          AlertDialog.Builder builder = new AlertDialog.Builder(this);
          builder.setTitle("Title")
            .setInverseBackgroundForced(true)
            .setMessage(
                      "my message")
                      .setCancelable(false)
                      .setPositiveButton("Options",
                              new DialogInterface.OnClickListener() {
                          public void onClick(DialogInterface dialog, int id) {
                              showOptions();
                          }
                      });
          builder.setNegativeButton("Cancel",
                    new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int id) {
                     dialog.cancel();
                 }
            });
          AlertDialog alert = builder.create();
          alert.show();
     }
}
Run Code Online (Sandbox Code Playgroud)

我可能做错了什么?我在代码块的不同位置尝试了方法调用,但没有解决。

Ε Г*_*И О 0

使用扩展 DialogFragment 的自定义对话框类并使用它来显示 AlertDialog。

例子:

public class CustomAlertDialog extends DialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setTitle("Title")
            .setInverseBackgroundForced(true)
            .setMessage("my message")
            .setCancelable(false)
            .setPositiveButton(
                "Options",
                 new DialogInterface.OnClickListener() {
                 public void onClick(DialogInterface dialog, int id) {
                     showOptions();
                 }
            });
        builder.setNegativeButton(
            "Cancel",
            new DialogInterface.OnClickListener() {
                public void onClick(DialogInterface dialog, int id) {
                    dialog.cancel();
                }
            });
        AlertDialog alert = builder.create();
        return alert;
    }
}

public class test {
    private void createMyLocationDisabledAlert() {
        new CustomAlertDialog().show(getSupportFragmentManager(), Constants.FragmentTagSearch);
    }
}
Run Code Online (Sandbox Code Playgroud)

注意:我使用支持库来实现兼容性,因此使用getSupportFragmentManager().