Как создать полноэкранный диалог с дизайном материалов?

Я пробовал много вариантов для создания полноэкранного диалога, но я не мог. Мне нужно что-то вроде двух кнопок: http://i.stack.imgur.com/dLSx8.png

Если вы действительно хотите, чтобы диалоговое окно полного экрана просто расширило класс Dialog и добавило несколько настроек. (Вы также можете выполнить это, не расширив ничего, но я думал, что вы захотите сохранить все в одном месте)

В вашем конструкторе вам нужно установить стиль (для вашего материала, или это может быть пустой тег стиля):

 super(context, R.style.DialogStyle); 

Вам также необходимо установить представление: (Здесь вы определяете, где / что эти две кнопки)

 setContentView(R.layout.dialog_view); 

Наконец, вам также может потребоваться изменить параметры макета окна:

 getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); 

Я нашел на устройствах, которые я тестировал, что настройка стиля является самой важной.

*РЕДАКТИРОВАТЬ*

Чтобы сделать это более понятным, у вас есть два варианта:

 public class MyDialog extends Dialog { public MyDialog(Context context) { super(context, R.style.YourStyle); setContentView(R.layout.dialog_view); getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); //Optional //Any other code you want in your constructor } } 

Затем, когда вы хотите показать это:

 //Inside your activity MyDialog dialog = new MyDialog(this); //Assuming you are in an activity 'this' is your context dialog.show(); 

Или вы можете просто сделать это:

 Dialog normalDialog = new Dialog(this, R.style.YourStyle); normalDialog.setContentView(R.layout.dialog_view); normalDialog.show(); 

Я согласен с использованием нового вида деятельности. Установите индикатор HomeAsUp на то, что вы хотите, затем кнопка «Сохранить» может быть единственным элементом меню, установленным для отображения ifRoom.

http://developer.android.com/reference/android/app/ActionBar.html#setHomeAsUpIndicator(int)

Android: showAsAction = ["ifRoom" | «Никогда» | "WithText" | «Всегда» | "CollapseActionView"]

Это то, что я использую для отображения полного диалогового окна без панели действий:

 //Display fullscreen without actionbar if(Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) { setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme_Holo_Light_NoActionBar_Fullscreen); } else { setStyle(DialogFragment.STYLE_NORMAL, android.R.style.Theme_Material_Light_NoActionBar_Fullscreen); } 
Intereting Posts
Запуск apk при загрузке в Android Попытка прочитать свойство «main» из представления только для записи элемента модели «android.sources», заданного для правила android.sources {…} Android: как инициализировать переменную типа «Location» (отличая ее от нуля) Рамка EventBus для Android EditText не захватывает флажки ViewFlipper? React Native: TouchableOpacity onPress проблемы внутри ScrollView Определить пользовательские компоненты Android с помощью короткого пространства имен? WebView loadUrl работает только один раз MediaCodec с поверхностным входом: запись в фоновом режиме Создание экрана предпочтений с поддержкой (v21) Панели инструментов Как настроить gmail в эмуляторе Android? Динамические фрагменты в Android Несовместимые типы, требуемые java.lang.Integer , найдены Int ? Android Back End Technology – Язык (Java, Python) и IDE (CoderBuddy, exo Cloud, Cloud 9) Как реализовать нижнюю навигационную вкладку в соответствии с новым руководством Google