我的AlertDialogs有问题。如果应用程序的语言是德语,则AlertDialogs为黑色。如果语言为英语(标准),则AlertDialogs为白色。怎么会发生这种情况?我没有设置自定义主题。
这是我创建AlertDialog的方式:
AlertDialog.Builder alert = new AlertDialog.Builder(this);
答案 0 :(得分:1)
创建如下所示的自定义对话框,并在对话位置使用其实例。
public class CustomDialog extends Dialog {
public CustomDialog(Context context, View view) {
super(context);
requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(view);
getWindow().getDecorView().setBackgroundResource(android.R.color.transparent);
}
}
答案 1 :(得分:-1)
您可以创建2个不同的布局,然后选择其中一个。 例如:
@Override
public void onClick(View v) {
String language = Locale.getDefault().getDisplayLanguage();
LayoutInflater inflater = getLayoutInflater();
AlertDialog.Builder adb = new AlertDialog.Builder(this);
adb.setView(inflater.inflate(language.equalsIgnoreCase("English") ?
R.layout.white_dialog : R.layout.blackdialog, null));
adb.show();
}