AlertDialog具有不同的背景颜色?

时间:2013-11-17 16:19:05

标签: android background dialog

我的AlertDialogs有问题。如果应用程序的语言是德语,则AlertDialogs为黑色。如果语言为英语(标准),则AlertDialogs为白色。怎么会发生这种情况?我没有设置自定义主题。

这是我创建AlertDialog的方式:

AlertDialog.Builder alert = new AlertDialog.Builder(this);

2 个答案:

答案 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();
    }