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)
我可能做错了什么?我在代码块的不同位置尝试了方法调用,但没有解决。
使用扩展 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().