如何在对话框的右侧和左侧添加边距

时间:2017-02-25 04:00:31

标签: android android-layout dialog

我希望对话框不会拉伸以适应显示屏的宽度。我希望对话框有大约90%的屏幕宽度和中心。 我该怎么办?

非常感谢^^

3 个答案:

答案 0 :(得分:2)

您可以使用以下属性提供样式,以将对话框大小设置为屏幕的百分比。

<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));

参见windowMinWidthMinorwindowMinWidthMajor

答案 1 :(得分:1)

以下是在对话框中设置边距的示例

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);

答案 2 :(得分:0)

为了最简单的方法,您可以执行以下操作:

<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可以引用