我正在尝试创建一个宽度为MATCH_PARENT的DialogFragment,这样对话框几乎是全屏的(保留边缘的填充以获得浮动的外观)。我见过这个解决方案Full Screen DialogFragment in Android,但我正在努力避免将宽度设置为1000dp的麻烦。在我当前的布局中,无论我使用的是FILL_PARENT还是MATCH_PARENT,它似乎都将宽度和高度设置为WRAP_CONTENT。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >我已经对对话框(而不是DialogFragment)使用了这个解决方案,它的工作方式与预期一致:
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);发布于 2014-03-27 02:19:35
这对我来说是完美的。当扩展DialogFragment覆盖onCreateView()时...提炼所有的逻辑
对话框使其全屏只需重写此方法
@Override
public Dialog onCreateDialog(final Bundle savedInstanceState) {
// the content
final RelativeLayout root = new RelativeLayout(getActivity());
root.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
// creating the fullscreen dialog
final Dialog dialog = new Dialog(getActivity());
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(root);
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(Color.YELLOW));
dialog.getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT);
return dialog;
}发布于 2012-08-10 00:56:20
尝试切换到RelativeLayout而不是LinearLayout。它在我的案例中起作用了
发布于 2015-06-22 20:20:07
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(DialogFragment.STYLE_NO_TITLE,android.R.style.Theme_Holo_Light);
}https://stackoverflow.com/questions/11887340
复制相似问题