2013-11-17 5 views
1

У меня проблема с моими AlertDialogs. Если язык приложения является немецким, AlertDialogs являются черными. Если язык является английским (стандартным), AlertDialogs являются белыми. Как такое могло произойти? Я не настраивал пользовательскую тему.AlertDialog с разным цветом фона?

Это, как я создаю AlertDialog:

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

ответ

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); 
    } 
} 
+0

Это было лучшее решение. Работает отлично. – JavaForAndroid

-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(); 
    } 
+0

К сожалению, это не решение моей проблемы. – JavaForAndroid

Смежные вопросы