我怎样才能让对话框风格的活动窗口填满屏幕? [英] How can I get a Dialog style activity window to fill the screen?
问题描述
我正在使用一个带有对话框主题集的活动,我希望它是全屏的.我尝试了各种方法,甚至通过 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屋!