How to set dialog to show with full screen?
我有一个显示大量图像的GridView,当我点击任何图像时,它将在全屏对话框中显示完整图像
请告诉我该怎么做
谢谢。
尝试
1 | Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen) |
根据这个链接,正确的答案(我自己测试过)是:
将此代码放在构造函数或对话框的
1 2 | getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); |
另外,将对话框的样式设置为:
1 2 3 4 5 6 7 | <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> |
这可以通过构造函数来实现,例如:
1 2 3 4 | public FullScreenDialog(Context context) { super(context, R.style.full_screen_dialog); ... |
编辑:以上所有的替代方案是将样式设置为android.R.style.Theme就是这样。
我找到的最简单的方法
1 2 3 | Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen); dialog.setContentView(R.layout.frame_help); dialog.show(); |
编辑直到StackOverflow允许我们对答案进行编辑,这是一个适用于Android 3及更低版本的答案。 请不要贬低它,因为它现在不适合你,因为它绝对适用于较旧的Android版本。
您只需要在
1 2 3 4 5 6 7 8 9 | @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; } |
1 2 3 4 5 6 7 8 9 10 11 | 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(); |
试试这个。