我有一个显示大量图像的GridView,当我点击任何图像时,它会在全屏对话框中显示完整图像
请告诉我该怎么做
感谢。
答案 0 :(得分:206)
试
Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen)
答案 1 :(得分:70)
基于this link,正确答案(我自己测试过)是:
将此代码放在构造函数或对话框的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就是这样。
答案 2 :(得分:41)
我找到的最简单方法
Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setContentView(R.layout.frame_help);
dialog.show();
答案 3 :(得分:37)
编辑在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;
}
答案 4 :(得分:30)
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();
试试这个。