我需要添加对话框周围的自定义页边距。有什么建议要怎么做吗?(对话框位置顶部: 100像素,左侧50像素,等等)
发布于 2014-10-13 17:06:34
尝尝这个
dialog.getWindow().getDecorView().setTop(100);
dialog.getWindow().getDecorView().setLeft(100);发布于 2018-02-27 22:01:09
我知道这是个老生常谈的问题,但如果有人还需要帮助的话...
您可以使用inset为Custom dialog设置边距。
在可绘制文件夹中创建一个dialog_inset.xml:
<inset
xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/dialog_background"
android:insetRight="15dp"
android:insetBottom="15dp"
android:insetLeft="15dp">
</inset>看,android:drawable属性正在调用我的对话框自定义背景。在我的例子中,是一个圆形的白色窗口。
这是我的dialog_background.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="false">
<shape android:shape="rectangle">
<corners android:radius="20dp"/>
<solid android:color="#ffffff"/>
<stroke android:color="#4c252525" android:width="1dp"/>
</shape>
</item>
</selector>现在,您需要将此android:background="@drawable/dialog_isset"放在您的自定义对话框布局的parent view中。
发布于 2014-10-13 17:15:24
我是这样做的:
AlertDialog.Builder dialogBuilder = new AlertDialog.Builder(this, R.style.cutomDialog);
...
...
Dialog dialog = dialogBuilder.create();
WindowManager.LayoutParams params = dialog.getWindow().getAttributes();
params.gravity = Gravity.TOP;
params.x = locationByX;
params.y = locationByY;
params.width = dialogWidth;
params.height = dialogHeight;
dialog.getWindow().setAttributes(params);https://stackoverflow.com/questions/26336302
复制相似问题