DialogFragment 透明全屏设置终极实用办法

今天在项目中需要用到DialogFragment,并且需要全屏透明;

苦逼的是怎么弄两边都会有一点间距;

这是因为DialogFragment 弹出框默认是在屏幕的中央,左右还有留白,那么怎么样才能将这左右的留白去掉呢?

DialogFragment 透明全屏设置终极实用办法_第1张图片

红色是我想去掉的地方

答案很简单(但是我还没弄明白):

@Override
public void onStart()
{
super.onStart();
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics( dm );
getDialog().getWindow().setLayout( dm.widthPixels, getDialog().getWindow().getAttributes().height );
}

在你的DialogFragment加上上面这段话就可以了;

我还没搞懂原理,如果你明白原理请在评论里留言,谢谢!

另外设置透明就比较简单了,这是我的style:

你可能感兴趣的:(Android基础,Android常见问题分类)