我有ListView中有一个活动:Theme.Dialog创建太小屏幕
android:theme="@android:style/Theme.Dialog"
在清单
。 当我打开它并且它在ListView中只有一行时,打开的窗口非常小。 如何让窗户占据整个屏幕?
我有ListView中有一个活动:Theme.Dialog创建太小屏幕
android:theme="@android:style/Theme.Dialog"
在清单
。 当我打开它并且它在ListView中只有一行时,打开的窗口非常小。 如何让窗户占据整个屏幕?
在Activity的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()来完成...
getWindow().setLayout(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT);
解决方案无法正常工作。也许这是由于ListView的对话框主题?有任何想法吗? – OkyDokyman 2011-05-11 20:03:44
使用的setContentView()调用之前建议的代码。它会工作。
我发现设置窗口大小确实有效,但您必须稍后再做。在此实例中的窗口宽度被设置为显示宽度的90%,并且在onStart()
而非onCreate()
完成:
@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);
}
只是一个小的更新。使用MATCH_PARENT而不是已弃用的FILL_PARENT。 PravinCG的答案对我很好。
Yeezz!我想到了 !问题是边距大小不在窗口widht中计算。所以,如果您将布局边距设置为0并将该部分移至布局的填充处,则问题将得到解决。
解决方案不起作用。也许这是由于ListView的对话框主题?有任何想法吗? – OkyDokyman 2011-05-11 20:03:34
谢谢!我的活动(通过Manifest看起来像是一个对话框)有一个相当复杂的LinearLayout,只显示几个字母的宽度。但哇,它为我工作!但为什么? – 2012-10-19 05:48:21
这不行! – JaydeepW 2014-04-18 05:42:00