我正在尝试创建一个自定义对话框以在屏幕底部显示值列表。
如何删除对话框边距?
我想要这个...
我有这个...
对话代码:
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();
解决了!更好的解决方案:
<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>
并使用 new Dialog(context, R.theme.BottomOptionsDialogTheme);
最佳答案
改变你的线路:
Dialog d = new Dialog(this);
到:
Dialog d = new Dialog(this, R.style.DialogTheme);
并在您的 styles.xml
中添加与您的主题版本相对应的 parent
。
<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>
但在我看来,在您的情况下,使用 Snackbar
可能会更好。 Here是教程。
关于android - 如何删除对话框边距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31221211/