DialogFragment去除内边距
时间: 2024-01-19 22:02:56 浏览: 45
可以在DialogFragment的onCreateDialog方法中,调用Dialog的setContentView方法前,给Dialog设置一个空的Theme,以去除默认的内边距。具体的代码实现如下:
```java
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog dialog = new Dialog(getActivity(), android.R.style.Theme_Translucent_NoTitleBar);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
dialog.setContentView(R.layout.your_layout);
//去除Dialog的内边距
Window window = dialog.getWindow();
window.setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));
window.setGravity(Gravity.CENTER);
window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT);
window.setDimAmount(0.0f);
return dialog;
}
```
在上述代码中,我们为Dialog设置了一个透明的背景,以及一个无标题栏的Theme,然后通过调用window的setLayout方法,设置Dialog的宽高以及位置。最后,将Dialog返回即可。
阅读全文