android 代码设置dialog 全屏,关于android:如何设置对话框以全屏显示?

我有一个显示大量图像的GridView,当我点击任何图像时,它将在全屏对话框中显示完整图像

请告诉我该怎么做

谢谢。

如果要使用FULL SCREEN Dialog,为什么不使用默认的ACTION_VIEW Intent来显示图像文件?

抱歉,我的意思是几乎全屏或完整图像

如果你必须对话,结合对willytate的回答然后在主题中使用android.R.style.Theme_Translucent_NoTitleBar_Fullscreen

这可能有助于stackoverflow.com/a/2700683/1118886

我不明白为什么这个问题会被关闭。烦人。 有建议,但不能发帖。 感谢@Andrew Barber!-.-

@MartinPfeffer我也有一个未来用户的建议,但问题关闭Andrew Barber不是来自Android社区。 这真是一个简单的问题,新的Android开发人员总是对此感到好奇。 这个问题应该再次开放,以获得更好的答案和未来的用户

尝试

Dialog dialog=new Dialog(this,android.R.style.Theme_Black_NoTitleBar_Fullscreen)

为了这个为我工作,我不得不使用android.R.style.Theme_Black_NoTitleBar_Fullscreen

Call requires API level 11

@ LuisA.Florit尝试Theme_Black_NoTitleBar_Fullscreen

用标题栏全屏怎么样?

当我这样做(使用DialogFragment)时,我看到状态栏颜色被对话框杀死,整个屏幕是对话框的背景颜色。有没有人知道一个解决方法?我尝试设置对话框窗口的statusBarColor,无效。 P.S。:导航栏颜色也被杀死了。

但它变成黑色作为背景如何改变它?

仍然显示状态栏应该是…的差距

你可以在它的末尾使用Fullscreen的任何主题,对我来说android.R.style.Theme_Holo_NoA??ctionBar_Fullscreen工作得最好,Theme_Black为我的EditTexts添加了背景。

@Ahmed Salem Tnx你节省了我的时间。 +1投票给你

根据这个链接,正确的答案(我自己测试过)是:

将此代码放在构造函数或对话框的onCreate()方法中:

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

WindowManager.LayoutParams.MATCH_PARENT);

另外,将对话框的样式设置为:

@null

true

@null

@android:style/Animation.Dialog

stateUnspecified|adjustPan

这可以通过构造函数来实现,例如:

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

嗯,这很难说 – 你导入了LayoutParams吗?您的布局xml是设置为fill_parent还是match_parent?

使用android.view.WindowManager.LayoutParams.FLAG_FULLSCREEN

错误:FLAG_FULLSCREEN cannot be resolved or is not a field

这个答案可能已经过时 – 它可能对Android 4.0及以上版本无效。

@CaspNZ在android 4.0+中,你应该覆盖DialogFragment s onCreateDialog方法。这样,一切都很酷。 ;-)

这让我疯了,每当我创建Dialog时顶部区域被剪裁,虽然看起来窗口实际上是完全大小的(例如窗口背景也被剪裁)。我在requestWindowFeature(Window.FEATURE_NO_TITLE)之后但在setContentView()之前设置了LayoutParams.FLAG_FULLSCREEN

你需要导入如:import android.view.WindowManager;

这对我不起作用….在api 18 … android studio模拟器

这是一个非常古老的答案。它可能不再适用于较新版本的API

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();

试试这个。

MATCH_PARENT为我工作。

    原文作者:UI设计华斌
    原文地址: https://blog.csdn.net/weixin_42531128/article/details/117582338
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞