自定义DialogFragment

1.配置xml

首先要在最外层定义一个RetiveLayout布局(布局任意),然后在定义一个布局用来显示内容。

2.DialogFragment

1.在onActivityCreated()给dialog设置宽高

Window window = getDialog().getWindow();

ViewGroup.LayoutParams attributes = window.getAttributes();

window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT,ViewGroup.LayoutParams.MATCH_PARENT);

2.在onCreateView()设置样式

getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);//无标题

getDialog().setCanceledOnTouchOutside(true);//点击边际可消失

3.在style文件配置.ActionSheetDialogStyle

<style name="ActionSheetDialogStyle"parent="@android:style/Theme.Dialog">        

<item name="android:windowBackground">@android:color/transparent

<item name="android:windowContentOverlay">@null</item>    

<item name="android:windowIsFloating">true</item>    <!-- 边框 -->      

<item name="android:windowFrame">@null</item>  

<item name="android:backgroundDimEnabled">true</item>    <!-- 无标题 -->

<item name="android:windowNoTitle">true</item>    <!-- 半透明 -->  

<item name="android:windowIsTranslucent">true</item>

3.调用

ChooseRoleDialog dialog = new ChooseRoleDialog();

dialog.setStyle(DialogFragment.STYLE_NORMAL,R.style.ActionSheetDialogStyle);

dialog.show(getSupportFragmentManager(),"");

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 172,866评论 25 708
  • 系珠绳儿一朝断,散落双珠各两边。 从此红珠是红珠,不过白珠变绿珠。
    长安旧人阅读 265评论 1 8
  • 就在刚刚,我遇见了顾怀笙。 我幻想过无数次同顾怀笙再遇见的场景,却从未想过他会开口唤我。 我同顾怀笙,是个很长的故...
    我苦乐多阅读 2,221评论 63 48
  • 本文纯属个人学习的总结。作者勿怪,要是觉得侵权请私信我,我会及时删除。 1、史上最全的前端资源大汇总-作者 MR_...
    蔡镇泉阅读 196评论 0 0