【发布时间】:2017-02-25 04:00:30
【问题描述】:
我希望对话框不会拉伸以适应显示屏的宽度。我希望对话框有大约 90% 的屏幕宽度并将其居中。 我该怎么做?
非常感谢^^
【问题讨论】:
-
我们可以看看你试图打开对话框的代码吗?
标签: android android-layout dialog
我希望对话框不会拉伸以适应显示屏的宽度。我希望对话框有大约 90% 的屏幕宽度并将其居中。 我该怎么做?
非常感谢^^
【问题讨论】:
标签: android android-layout dialog
您可以使用以下属性指定样式以获取屏幕百分比的对话框大小。
<style name="YourDialogTheme">
<item name="android:windowMinWidthMajor">90%</item>
<item name="android:windowMinWidthMinor">90%</item>
</style>
然后在对话框中应用如下主题:
AlertDialog.Builder builder = new AlertDialog.Builder(new ContextThemeWrapper(this, R.style.YourDialogTheme));
【讨论】:
对于最简单的方法,您可以执行以下操作:
<FrameLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingLeft="@dimen/defaultMargin"
android:paddingRight="@dimen/defaultMargin">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</RelativeLayout>
另外,这个link可以参考
【讨论】:
这是在对话框中设置边距的示例
final Dialog dialog = new Dialog(context);
// ...
// e.g. top + right margins:
dialog.getWindow().setGravity(Gravity.TOP|Gravity.RIGHT);
WindowManager.LayoutParams layoutParams = dialog.getWindow().getAttributes();
layoutParams.x = 100; // right margin
layoutParams.y = 170; // top margin
dialog.getWindow().setAttributes(layoutParams);
// e.g. bottom + left margins:
dialog.getWindow().setGravity(Gravity.BOTTOM|Gravity.LEFT);
WindowManager.LayoutParams layoutParams = dialog.getWindow().getAttributes();
layoutParams.x = 100; // left margin
layoutParams.y = 170; // bottom margin
dialog.getWindow().setAttributes(layoutParams);
【讨论】: