欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android中DialogFragment自定义背景与宽高的方法

程序员文章站 2023-12-10 16:28:46
介绍 dialogfragment在android 3.0时被引入。是一种特殊的fragment,用于在activity的内容之上展示一个模态的对话框。典型的用于:展示警...

介绍

dialogfragment在android 3.0时被引入。是一种特殊的fragment,用于在activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。

在dialogfragment产生之前,我们创建对话框:一般采用alertdialog和dialog。注:官方不推荐直接使用dialog创建对话框。

本文主要给大家介绍了关于android中dialogfragment自定义背景与宽高的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。

自定义方法如下:

先申请无标题栏

@nullable
@override
public view oncreateview(layoutinflater inflater, viewgroup container, bundle savedinstancestate) {
 getdialog().getwindow().requestfeature(window.feature_no_title);
// ......
}

然后在onstart方法里重新指定宽高

先设置透明背景,然后通过displaymetrics设置宽高。

@override
public void onstart() {
 super.onstart();
 window window = getdialog().getwindow();
 window.setbackgrounddrawable(new colordrawable(color.transparent));
 windowmanager.layoutparams windowparams = window.getattributes();
 windowparams.dimamount = 0.0f;
 windowparams.y = 100;
 window.setattributes(windowparams);
 dialog dialog = getdialog();
 if (dialog != null) {
  displaymetrics dm = new displaymetrics();
  getactivity().getwindowmanager().getdefaultdisplay().getmetrics(dm);
  dialog.getwindow().setlayout((int) (dm.widthpixels * 0.9), (int) (dm.heightpixels * 0.76));
 }
}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。