如何删除对话框边距?

Fel*_*ier 17 layout android dialog

我正在尝试创建一个自定义对话框,以在屏幕底部显示值列表.

如何删除对话框边距?

我要这个... 在此输入图像描述

我有这个... 在此输入图像描述

对话框代码:

Dialog d = new Dialog(this);
    d.requestWindowFeature(Window.FEATURE_NO_TITLE);
    d.setContentView(R.layout.dialog_options);
    Window window = d.getWindow();
    WindowManager.LayoutParams wlp = window.getAttributes();
    wlp.width = WindowManager.LayoutParams.MATCH_PARENT;
    wlp.gravity = Gravity.BOTTOM;
    window.setAttributes(wlp);
    d.show();
Run Code Online (Sandbox Code Playgroud)

解决了!更好的方案:

<style name="BottomOptionsDialogTheme" parent="Theme.AppCompat.Light.Dialog">
    <item name="android:windowBackground">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">false</item>
    <item name="android:layout_margin">0dp</item>
    <item name="android:padding">0dp</item>
    <item name="android:layout_gravity">bottom</item>

    <item name="colorPrimary">@color/orange_dark</item>
    <item name="colorPrimaryDark">@color/orange_dark</item>
    <item name="colorAccent">@color/gray_light</item>
</style>
Run Code Online (Sandbox Code Playgroud)

并使用新的Dialog(context,R.theme.BottomOptionsDialogTheme);

Dam*_*lak 28

改变你的行:

Dialog d = new Dialog(this);
Run Code Online (Sandbox Code Playgroud)

至:

Dialog d = new Dialog(this, R.style.DialogTheme);
Run Code Online (Sandbox Code Playgroud)

并添加styles.xmlparent您的主题版本对应的.

<style name="DialogTheme" parent="Theme.AppCompat.Light.Dialog">
    <!-- Customize your theme here. -->
    <item name="android:windowBackground">@null</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowIsFloating">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)

但在你的情况下Snackbar,我认为最好使用它.是教程.