我有一个CustomDialog(扩展对话框),当前它的宽度和高度都设置为wrap_content。问题是如果我将主文本设置为非常短的内容(例如“ hello”),对话框的宽度将变得非常小。我希望对话框始终占用所有可用空间,但仍要具有屏幕边缘的默认边距。
我已经尝试了各种方法:
设置:
android:layout_width="match_parent"
在对话框布局上没有任何作用。
这样做:
int width = (int)(getContext().getResources().getDisplayMetrics().widthPixels*0.90);
getWindow().setLayout(width, LinearLayout.LayoutParams.WRAP_CONTENT);
使对话框显示在屏幕的开头,并且不更改宽度
Window window = getWindow();
WindowManager.LayoutParams params = window.getAttributes();
params.horizontalMargin = 10;
params.width = LinearLayout.LayoutParams.MATCH_PARENT;
window.setAttributes(params);
使对话框占据整个屏幕,但没有任何水平边界
投入
<item name="windowMinWidthMajor">100%</item>
<item name="windowMinWidthMinor">65%</item>
对话框样式中的无效。
我该怎么做到?请注意,对话框是在应用程序各处使用的,因此将任何代码都放在对话框类本身之外是不可选项。