关于的DialogFragment特殊用法

原创 2015年11月18日 13:38:27

1.关于生命周期:

          创建view可以通过两个途径,一是fragment中的onCreateView(),二是DialogFragment中的onCreateDialog()。前者适合对自定义的layout进行设置,具有更大的灵活性,而后者适合对简单dialog进行处理,可以利用Dialog.Builder直接返回Dialog对象,从生命周期的顺序而言,先执行onCreateDialog(),后执行oonCreateView(),我们不应同时使用两者。

         DialogFragment没有类似于popupwindow/diaolog那样的onDismissListener 监听方法,我们可以利用其生命周期方法实现对其dismiss的监听。


2.特殊设置:

        getDialog().requestWindowFeature(Window.FEATURE_NO_TITLE);//去掉标题
        getDialog().getWindow().setBackgroundDrawable(new ColorDrawable(Color.TRANSPARENT));//设置背景透明

3.改变DialogFragment的显示位置:

   正常情况下都是默认居中,我们可以先获取的window,然后设置位置,代码如下:

     @Override
    public void onStart() {
        super.onStart();
        final DisplayMetrics dm = new DisplayMetrics();
        getActivity().getWindowManager().getDefaultDisplay().getMetrics(dm);
        final WindowManager.LayoutParams layoutParams = getDialog().getWindow().getAttributes();
        layoutParams.width = dm.widthPixels/2;//宽占屏幕一半
        layoutParams.height = dm.heightPixels/2;//高占屏幕一半
        layoutParams.gravity = Gravity.TOP;
        layoutParams.y = DisplayUtils.dp2px(getActivity(), 48);//距离顶部有48dp的距离
        getDialog().getWindow().setAttributes(layoutParams);
    }

相关文章推荐

DialogFragment自定义dialog的位置和大小

@Override public void onResume() { super.onResume(); Window dialogWindow = getDi...
  • A199581
  • A199581
  • 2016年09月12日 22:24
  • 2832

Android特殊碎片 —— DialogFragment

我们也可以创建另外一种碎片——DialogFragment。顾名思义,DialogFragment就是一个浮动在Activity上面的Fragment。当需要用户的反馈时,DialogFragment...
  • jdsjlzx
  • jdsjlzx
  • 2012年08月18日 10:08
  • 1628

记事本的特殊用法:杀毒.txt

  • 2010年01月06日 16:19
  • 2KB
  • 下载

shell中括号的特殊用法 linux if多条件判断

Shell中的括号有其特殊的用法, 现总结如下: 1. 符号$后的括号 ${a} 变量a的值, 在不引起歧义的情况下可以省略大括号. $(cmd) 命令替换, 结果为shell命令cmd的输出,...

linux 中特殊符号用法详解

# 井号 (comments) #管理员  $普通用户 脚本中 #!/bin/bash   #!/bin/sh 井号也常出现在一行的开头,或者位于完整指令之后,这类情况表示符号后面的是注解文字...

(续四)shell中一些特殊字符号的用法总结

  1、{} 大括号:eg: ls my_{finger,toe}s这条命令相当于如下两个命令的组合:ls my_fingers ; ls my_toeseg: mkdir {userA,userB,...

nginx 的配置特殊用法(rewrite规则)

rewrite 对称 url rewrite,即 url 重写,就是把传入 web 的请求重定向到其他 url 的过程。url rewrite 最常见的应用是 url 伪静态化,是将动态页面显示为静态...

Android自学笔记之 MultiAutoTextView的功能、特殊属性、用法(与AutoTextView的区别和近似)

一、MultiAutoCompleteTextView  介绍 1.功能:可支持选择多个值(在多次输入的情况下),分别用分隔符分开,,并且在每个值的选中的时候再次输入时会自动去匹配,可用在发短信、发...

C# ToString()方法一些特殊用法(日期显示)

一、取中文日期显示 1、年月日时分         currentTime.ToString("f"); //不显示秒  2、年月         currentTime.ToString("...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于的DialogFragment特殊用法
举报原因:
原因补充:

(最多只允许输入30个字)