Всплывающее окно Android на весь экран

Я хочу создать всплывающее окно для полноэкранного режима

я использовал следующее:

LayoutInflater inflater = (LayoutInflater) MainActivity.this.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

layoutt = inflater.inflate(R.layout.loginto,(ViewGroup) findViewById(R.id.window1));

pwindow = new PopupWindow(layoutt,LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT,true);

Это закрывает панель действий, но не весь экран.

Также LayuotParams.WRAP_CONTENT поддерживается API 11+. мне нужно решение для работы с API уровня 8.


person mkumar    schedule 28.06.2014    source источник


Ответы (2)


Для полноэкранного режима вы должны передать параметры MATCH_PARENT вместо WRAP_CONTENT

pwindow = new PopupWindow(layout,LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT,true);
person Govind Rathod    schedule 28.06.2014
comment
Нужно ли учитывать это предупреждение? он говорит, что поле требует уровня API 11 (текущий минимум 8): android.app.ActionBar.LayoutParams#FILL_PARENT - person mkumar; 28.06.2014
comment
@mkumar это только предупреждение, так что не о чем беспокоиться. вы можете взять FILL_PARENT ИЛИ MATCH_PARENT что угодно... :) - person Govind Rathod; 30.06.2014
comment
Это устарело, любой другой способ сделать это? - person Vlad; 06.08.2015
comment
FILL_PARENT был переименован в MATCH_PARENT в более ранних API, так что просто используйте последний, и все будет хорошо - person Oleksandr Firsov; 28.06.2016

Версия JAVA

 View view=getLayoutInflater().inflate(R.layout.dialog_complete_pause_work,null,false);

 PopupWindow popupWindow=new PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);

 popupWindow.showAtLocation(view, Gravity.CENTER,0,0);

Версия Котлина:

val view = layoutInflater.inflate(R.layout.your_layout, null, false)

val popupWindow = PopupWindow(view, ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT)

popupWindow.showAtLocation(view, Gravity.CENTER, 0, 0)
person Manohar    schedule 03.07.2018
comment
В Котлине я бы предложил использовать val, когда это возможно, как указано в официальных рекомендациях. В этом случае, если вы знаете, что popupWindow будет допустимым экземпляром класса PopupWindow, нет необходимости определять его как переменную, которая будет иметь тип, допускающий значение null. С val он всегда присваивается, поэтому вам даже не нужен ? оператор для проверки нулевых значений. - person Luan; 13.08.2018
comment
В этом случае вам не нужен ? чтобы проверить, является ли popupWindow нулевым. Доступ к нему возможен напрямую :) - person Luan; 14.08.2018