如何为自定义对话框设置边距?
|
有人知道如何为自定义对话框设置边距吗?我之所以问是因为我有一个自定义对话框,但是即使我在布局参数上显式设置了WRAP_CONTENT,但在显示时它会拉伸以填充父对话框。
基本上,对话框包含一个列表视图,该列表视图的元素必须向下滚动,例如,当元素为1时,它不会拉伸,但是当添加更多项时,对话框将占据整个屏幕。
有什么建议么?我尝试了所有可能的解决方案组合,但均未获得令人满意的结果
编辑:添加对话框布局
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\"
android:layout_height=\"wrap_content\"
android:layout_margin=\"50dip\"
android:orientation=\"vertical\"
android:layout_gravity=\"top|center\">
<FrameLayout android:layout_width=\"fill_parent\" android:layout_margin=\"5dip\" android:layout_height=\"wrap_content\">
<TextView android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\"
android:layout_gravity=\"center\"
android:textSize=\"20sp\" android:textColor=\"@color/black\"/>
<Button android:layout_height=\"32dip\" android:layout_width=\"32dip\"
android:id=\"@+id/guide_dialog_cross_button\"
android:background=\"@drawable/button_cross_white\"/>
</FrameLayout>
<ListView android:layout_width=\"fill_parent\" android:layout_height=\"wrap_content\"
android:fadingEdge=\"none\"
android:layout_margin=\"5dip\"/>
<ImageButton android:layout_width=\"wrap_content\" android:layout_height=\"wrap_content\"
android:layout_margin=\"5dip\" />
</LinearLayout>
没有找到相关结果
已邀请:
10 个回复
担每棱绰
可绘制对象,并调整任何填充以解决背景的多余插图。在下面的示例中,我将设置左右边距。 对话框背景可绘制:
对话框主视图:
您可能还需要将对话框本身的背景色设置为透明。添加颜色资源,如下所示:
并将对话框的窗口背景颜色设置为此(注意:您不能直接分配颜色,eclipse会抱怨)
此样式应作为
参数传递给Dialog \的构造函数,如
场竟矩喘崩
在这种情况下,对话框的所有边距将显示为20。
薄扩络拜
曝匿弄罚
`getDeviceMetrics方法:
琶竞捆栓
方法中应用tested12ѭ来测试我的方法:
这是将边距应用于对话框的方法:
这是我使用的辅助方法:
我的另一个SO回答中介绍了辅助方法。 本要点包含一个扩展版本,也支持沉浸模式。
泻伴墓荒
Obs:当我想在AlertDialog中留出边距时,该方法起作用。不考虑屏幕。
净爽
2)现在将样式添加到您的styles.xml
3)现在添加以下代码以显示对话框:
布埃郝卞簿
更改为全屏显示。 我的问题是对话框向其父级行进的宽度没有边距 尝试按照要求遵循以下代码
在
之前设置这些属性,或者通过将
设置为
布局并将
设置为其子布局,可以将对话框的
边距设置为
净爽
其中R.drawable.background_dialog定义为
穗揣