Android 主题对话框创建的屏幕太小

Android 主题对话框创建的屏幕太小,android,themes,Android,Themes,我有一个具有ListView的活动,该活动具有: android:theme="@android:style/Theme.Dialog" 在舱单上。 当我打开它,并且它在ListView中只有一行时,打开的窗口非常小。 如何使窗口占据整个屏幕?在活动的onCreate方法中使用此选项,使其成为全屏 @Override protected void onCreate(Bundle arg0) { super.onCreate(arg0); setContentView(R.

我有一个具有ListView的活动,该活动具有:

android:theme="@android:style/Theme.Dialog"
在舱单上。 当我打开它,并且它在ListView中只有一行时,打开的窗口非常小。
如何使窗口占据整个屏幕?

在活动的onCreate方法中使用此选项,使其成为全屏

   @Override
protected void onCreate(Bundle arg0) {
    super.onCreate(arg0);
    setContentView(R.layout.myxml);

    LayoutParams params = getWindow().getAttributes(); 
            params.height = LayoutParams.MATCH_PARENT;
            params.width  = LayoutParams.MATCH_PARENT;
           getWindow().setAttributes((android.view.WindowManager.LayoutParams) params);
   } 

与PravinCG的答案类似,但只需onCreate()中的一行就可以完成


在调用setcontentview()之前使用建议的代码。它会起作用。

我发现设置窗口大小确实有效,但您必须稍后再做。在本例中,窗口宽度设置为显示宽度的90%,并在
onStart()
而不是
onCreate()
中完成:


只是一个小的更新。使用了匹配父项而不是不推荐使用的填充父项。PravinCG的回答对我很有用。

Yeezz!我知道了!问题是没有在窗口宽度中计算边距大小。因此,如果将版面边距设置为0,并将该部分移动到版面的填充位置,则问题将得到解决。

解决方案不起作用。也许是因为ListView的对话主题?有什么想法吗?谢谢!我的活动(通过清单看起来像一个对话框)有一个相当复杂的线性布局,只显示了几个字母宽。但是哇,这对我来说很管用!但是为什么呢?请查看下面的评论以了解更改。答案已超过两年,可能需要进行一些编辑。解决方案不起作用。也许是因为ListView的对话主题?有什么想法吗?
getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
@Override
protected void onStart() {
   super.onStart();
   // In order to not be too narrow, set the window size based on the screen resolution:
   final int screen_width = getResources().getDisplayMetrics().widthPixels;
   final int new_window_width = screen_width * 90 / 100; 
   LayoutParams layout = getWindow().getAttributes();
   layout.width = Math.max(layout.width, new_window_width); 
   getWindow().setAttributes(layout);
}