Android去除对话框边距,android – 如何设置边距到自定义对话框?

博客内容讲述了如何在Android Dialog中实现边距。由于Dialog本身不直接支持边距,作者建议通过设置Dialog背景为带有内嵌边距的自定义drawable来实现。具体做法包括创建一个XML drawable文件,定义左右内嵌边距,并在Dialog的主视图中使用该背景,同时可能需要将Dialog的背景颜色设为透明。此外,还提供了设置Dialog主题样式的代码示例。
摘要由CSDN通过智能技术生成

边距不适用于对话框,我想顶层窗口视图不是支持边距的布局类型。我看过帖子说,当定义为Dialog的样式(而不是顶级视图元素)时,边距会工作,但这似乎也不工作。

解决这个问题需要做的是在你的Dialog背景中使用一个插图,并调整任何填充以考虑背景的额外插入。在下面的例子中,我只需要设置left&右边距。

对话框背景drawable:

xmlns:android="http://schemas.android.com/apk/res/android"

android:drawable="@drawable/dialog_background"

android:insetRight="10dp"

android:insetLeft="10dp">

对话框主视图:

android:orientation="vertical"

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:paddingTop="5dp"

android:paddingBottom="5dp"

android:paddingLeft="15dp"

android:paddingRight="15dp"

android:background="@drawable/dialog_background_inset">

您可能还需要将对话框本身的背景颜色设置为透明。添加颜色资源,如:

#00000000

并将对话框的窗口背景颜色设置为这样(注意:你不能直接指定颜色,eclipse会报错)

@color/transparent

true

true

这个样式应该作为主题参数传递给你的Dialog的构造函数,就像new Dialog(context,R.style.Dialog)一样。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值