У меня есть GridView, и я хочу внедрить диалоговое окно, в котором выбранное мной изображение должно отображаться в полноэкранном режиме.
так как я могу сделать так, чтобы диалог отображался в полноэкранном режиме? Спасибо!
У меня есть GridView, и я хочу внедрить диалоговое окно, в котором выбранное мной изображение должно отображаться в полноэкранном режиме.
так как я могу сделать так, чтобы диалог отображался в полноэкранном режиме? Спасибо!
Ответы:
пытаться
Dialog dialog=new Dialog(this,android.R.style.Theme.Black.NoTitleBar.Fullscreen)
Call requires API level 11
DialogFragment
), я вижу, что цвет строки состояния убит диалогом, весь экран - это цвет фона диалога. Кто-нибудь знает обходной путь? Я попытался установить statusBarColor диалогового окна, но безрезультатно. PS: цвет панели навигации тоже убивается.
Основываясь на этой ссылке , правильный ответ (который я сам проверил):
поместите этот код в конструктор или onCreate()
метод диалога:
getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT);
кроме того, установите стиль диалога на:
<style name="full_screen_dialog">
<item name="android:windowFrame">@null</item>
<item name="android:windowIsFloating">true</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
<item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
</style>
это можно сделать с помощью конструктора, например:
public FullScreenDialog(Context context)
{
super(context, R.style.full_screen_dialog);
...
РЕДАКТИРОВАТЬ: альтернативой всему вышеперечисленному было бы установить стиль на android.R.style.Theme и все.
Самый простой способ нашел
Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.frame_help);
dialog.show();
ИЗМЕНИТЬ До тех пор, пока StackOverflow не позволит нам редактировать наши ответы, это ответ, который работает для Android 3 и ниже. Пожалуйста, не понижайте его, потому что он сейчас не работает для вас, потому что он определенно работает со старыми версиями Android.
Вам нужно добавить только одну строку в свой onCreateDialog()
метод:
@Override
protected Dialog onCreateDialog(int id) {
//all other dialog stuff (which dialog to display)
//this line is what you need:
dialog.getWindow().setFlags(LayoutParams.FLAG_FULLSCREEN, LayoutParams.FLAG_FULLSCREEN);
return dialog;
}
FLAG_FULLSCREEN cannot be resolved or is not a field
dialog = new Dialog(getActivity(),android.R.style.Theme_Translucent_NoTitleBar);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.loading_screen);
Window window = dialog.getWindow();
WindowManager.LayoutParams wlp = window.getAttributes();
wlp.gravity = Gravity.CENTER;
wlp.flags &= ~WindowManager.LayoutParams.FLAG_BLUR_BEHIND;
window.setAttributes(wlp);
dialog.getWindow().setLayout(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT);
dialog.show();
попробуй это.
Dialog
, почему бы просто не использовать значениеACTION_VIEW
Intent
по умолчанию для файлов изображений?