最近有个横屏且无状态栏的页面,需要一个上下铺满且紧贴右边的DialogFragment,当在onStart()中设置如下时,上下填满了但无法紧贴右边!
@Override
public void onStart() {
super.onStart();
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
getDialog().getWindow().setLayout(dm.widthPixels, dm.heightPixels);
}
于是在网上搜到了下面这段代码,满足了需求可是让我的状态栏隐藏的代码失效了!
@Override
public void onStart() {
super.onStart();
int width = ViewGroup.LayoutParams.MATCH_PARENT;
int height = ViewGroup.LayoutParams.MATCH_PARENT;
getDialog().getWindow().setLayout(width, height);
}
于是结合了一下有了下面的代码!
@Override
public void onStart() {
super.onStart();
DisplayMetrics dm = new DisplayMetrics();
getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
int width = ViewGroup.LayoutParams.MATCH_PARENT;
getDialog().getWindow().setLayout(width, dm.heightPixels);
}
最后提醒一下别忘了在onCreate中设置setStyle(DialogFragment.STYLE_NO_TITLE, 0);
本文介绍如何在Android应用中创建一个能够完全填充屏幕宽度并紧贴右侧的DialogFragment,同时解决了状态栏隐藏的问题。
1350

被折叠的 条评论
为什么被折叠?



