我怎样才能让对话框风格的活动窗口填满屏幕? [英] How can I get a Dialog style activity window to fill the screen?

查看:22
本文介绍了我怎样才能让对话框风格的活动窗口填满屏幕?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用一个带有对话框主题集的活动,我希望它是全屏的.我尝试了各种方法,甚至通过 WindowManager 手动将窗口扩展到全宽和全高,但没有任何效果.

显然,对话窗口(或具有对话主题的活动)只会根据其内容展开,但即使如此也并不总是有效.例如,我展示了一个进度条圆圈,它的宽度和高度设置为 FILL_PARENT(它的布局容器也是如此),但对话框仍然环绕在更小的进度条周围,而不是填满屏幕.

必须有一种方法可以在对话窗口中显示一些小的内容,但可以将其扩展到全屏大小而不调整其内容大小?

解决方案

我找到了解决方案:

在具有 Theme.Dialog 样式集的 Activity 中,执行以下操作:

@Overridepublic void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.your_layout);getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);}

在调用 setContentView() 之后调用 Window.setLayout() 很重要,否则它不会工作.>

I am using an activity with the dialog theme set, and I want it to be full screen. I tried all sorts of things, even going through the WindowManager to expand the window to full width and height manually, but nothing works.

Apparently, a dialog window (or an activity with the dialog theme) will only expand according to its contents, but even that doesn't always work. For instance, I show a progress bar circle which has width and height set to FILL_PARENT (so does its layout container), but still, the dialog wraps around the much smaller progress bar instead of filling the screen.

There must be a way of displaying something small inside a dialog window but have it expand to full screen size without its content resizing as well?

解决方案

I found the solution:

In your activity which has the Theme.Dialog style set, do this:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.your_layout);

    getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
}

It's important that you call Window.setLayout() after you call setContentView(), otherwise it won't work.

这篇关于我怎样才能让对话框风格的活动窗口填满屏幕?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆