如何使用DialogFragment 有两种方法 实现onCreateDialog方法 通过继承DialogFragment并且实现它的onCreateDialog(Bundle savedInstanceState...view = inflater.inflate(R.layout.fragment_edit_name, container); return view; } } 【注】以上两种方法创建对话框时候只能使用其中一种...,不能两个同时使用。...DialogFragment并没有对Dialog的消失提供监听给调用者使用,但是我们通过源码分析得知,DialogFragment在onActivityCreate当中其实已经帮我们设置了onDismissListener...关于消失监听的两种写法如下: mListener为提供到外部使用的回调 @Overridepublic void onDismiss(DialogInterface dialog) { super.onDismiss
[1240] DialogFragment是在3.0时引入的,是一种特殊的 Fragment,用于在 Activity 上展示一个模态的对话框。...传递数据使用了Bundle。...R.id.content_tv); titleTv.setText(title); contentTv.setText(content); } } 在onCreateView方法中,使用上文建立的...使用 把这个窗口弹出来。我们使用DialogFragment.show(@NonNull FragmentManager manager, @Nullable String tag)方法。...小结: 使用 DialogFragment 来实现弹窗。 需要确定 ui 样式,建立 layout,新建类继承DialogFragment,传入数据。 Android零基础入门教程视频参考
如果移动端访问不佳,请访问 ==> Github 版 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性..., R.style.CustomDialog); } 处理屏幕翻转 如果使用传统的 Dialog ,需要我们手动处理屏幕翻转的情况,但使用 DialogFragment 的话,则不需要我们进行任何处理,...方法 ② 则没有此问题,而且,其创建方式默认使用了自定义 View,更便于应对复杂 UI 的场景。...PS:你也可以使用静态 Handler 结合弱引用等来处理异步操作,那样对 DialogFragment 状态的获取就不重要了。...扩展阅读: 详细解读 DialogFragment Android Dialog/DialogFragment宽度高度修改/全屏,自定义样式 Full Screen DialogFragment in
这里是对DialogFragment扩展的主要部分,我们可以再这里定义自己的方法,定义事件等。不如诗listdialog,需要定义适配器,需要定义itemclick。...1 public class TextDialogFramnet extends DialogFragment { 2 3 int mNum; 4 5 static...case 3: 26 style = DialogFragment.STYLE_NO_INPUT; 27 break; 28 case...4: 29 style = DialogFragment.STYLE_NORMAL; 30 break; 31 case 5:...= DialogFragment.STYLE_NO_FRAME; 39 break; 40 case 8: 41 style =
普通的Fragment还是DialogFragment 同时设置不要Title跟背景 隐藏Dialog 不保留活动 显示的逻辑 推荐使用DialogFragment 要选android X下的DialogFragment...DialogFragment有两个不同的包名 androidx.fragment.app.DialogFragment android.app.DialogFragment 为了兼容各个Android...版本的,记得要选择第一种DialogFragment,当然,系统源码也很贴心的把它Framework的DialogFragment设置为不推荐使用,而且还注明让你使用support包下面的DialogFragment...()方法来展示 DialogFragment如果只是当做普通的Fragment,建议使用普通的Fragment就可以了,这样代码逻辑比较清晰 同时设置不要Title跟背景 想同时不要Title跟背景,...DialogFragment 建议展示Dialog的地方,统一使用DialogFragment,更好的处理生命周期的各种场景,而且在Fragment回收后,也可以自动帮我们关闭Dialog,避免逻辑异常
在DialogFragment未哇哇坠地之前,我们一般用AlertDialog和Dialog来创建对话框。现在,谷歌官方不建议直接使用Dialog创建对话框。...因此它便于Activity更好的控制管理DialogFragment 相比Dialog,DialogFragment能完美横竖屏幕切换的问题。...onCreateView即使用定义的xml布局文件展示Dialog。onCreateDialog即利用AlertDialog或者Dialog创建出Dialog。...另一个则是使用inflater加载刚才自己新建的布局。...这样方便管理,例如你需要对话框一直处于栈顶,那么你就要使用FragmentTransaction结合newInstance()来控制。 c、显示对话框 ?
本文实例讲述了Android开发之DialogFragment用法。...分享给大家供大家参考,具体如下: 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性(很好的处理屏幕翻转的情况..., R.style.CustomDialog); } 处理屏幕翻转 如果使用传统的 Dialog ,需要我们手动处理屏幕翻转的情况,但使用 DialogFragment 的话,则不需要我们进行任何处理,...方法 ② 则没有此问题,而且,其创建方式默认使用了自定义 View,更便于应对复杂 UI 的场景。...PS:你也可以使用静态 Handler 结合弱引用等来处理异步操作,那样对 DialogFragment 状态的获取就不重要了。
1、DialogFragment 的优点 其实在 Android 中显示对话框有两种类型可供使用,一种是 DialogFragment,而另一种则是 Dialog。...在 DialogFragment 产生之前,我们创建对话框一般采用 Dialog,而且从代码的编写角度来看,Dialog 使用起来其实更加简单,但是 Google 却是推荐尽量使用 DialogFragment...基本一样的生命周期,使用 DialogFragment 来管理对话框,当旋转屏幕和按下后退键的时候可以更好的管理其生命周期 在手机配置变化导致 Activity 需要重新创建时,例如旋转屏幕,基于 DialogFragment...的对话框将会由 FragmentManager 自动重建,然而基于 Dialog 实现的对话框却没有这样的能力 2、DialogFragment 的使用 使用 DialogFragment 至少需要实现...AlertDialog 或者 Dialog 创建出 我们想要的 Dialog,因为这篇文章主要是讲 DialogFragment 的封装,至于 DialogFragment 具体的使用,可以参考下洋神的这篇文章
一、问题 DialogFragment 偶现IllegalStateException: Can not perform this action after onSaveInstanceState。...一般的解决方法,使用commitAllowingStateLoss 替代 commit,但DialogFragment的show方法默认使用的commit,无法修改 二、解决方案 public class...AllowStateLossDialogFragment extends DialogFragment { @Override public void show(@NonNull FragmentManager
使用总结 做一些业务,但是目标却是用 DialogFragment 实现类似 PopupWindow 效果: 只拦截自身所占空间部分的事件,其余空间的点击事件不处理 可以根据某个 View 定位自身位置...虽然在功能上 PopupWindow 更符合需要,但是使用 DialogFragment 代码更简洁、更方便封装功能模块。...但是,如果在界面显示给用户后,DialogFragment 的显示交给用户触发的话,就不需要在意这个问题了。...效果图 未使用沉浸式状态栏、 isTranslucentDecor 传值为 false ? 使用沉浸式状态栏、 isTranslucentDecor 传值为 false ,位置定位差个状态栏高度 ?...使用沉浸式状态栏、 isTranslucentDecor 传值为 true,位置定位修复 ?
介绍 DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。...在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog。注:官方不推荐直接使用Dialog创建对话框。...本文主要给大家介绍了关于Android中DialogFragment自定义背景与宽高的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。
在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog。注:官方不推荐直接使用Dialog创建对话框。...2、 好处与用法 使用DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本一致的声明周期。...上面会通过例子展示这些好处~ 使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法。...4、 重写onCreateDialog创建Dialog 在onCreateDialog中一般可以使用AlertDialog或者Dialog创建对话框,不过既然google不推荐直接使用Dialog,我们就使用...可以看到,传统的Dialog旋转屏幕时就消失了,且后台log会报异常~~~使用DialogFragment则不受影响。 好了,关于DialogFragment的介绍结束~~~~ 源码点击下载
在DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog。注:官方不推荐直接使用Dialog创建对话框。...2、 好处与用法 使用DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本一致的声明周期。...上面会通过例子展示这些好处~ 使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法。...onCreateView即使用定义的xml布局文件展示Dialog。onCreateDialog即利用AlertDialog或者Dialog创建出Dialog。...下面通过示例代码给大家介绍下Android中自定义DialogFragment解决宽度和高度问题 Android中自定义DialogFragment解决宽度和高度问题但是我们很多时候想把DialogFragment
本文实例讲述了Android基于DialogFragment创建对话框的方法。...分享给大家供大家参考,具体如下: /** * 使用DialogFragment创建对话框 * @description: * @author ldm * @date 2016-5-12 下午2:...author ldm * @date 2016-5-12 下午1:54:31 */ public static class MyAlertDialogFragment extends DialogFragment...args.putInt("title", title); frag.setArguments(args); return frag; } /** * DialogFragment...* onCreateView():使用定义的xml布局文件展示Dialog。 * onCreateDialog():利用AlertDialog或者Dialog创建出Dialog。
由于 Window 的 decorView 默认是设置有 10dp 的padding。需要获取到decorView后设置其padding为(0, 0, 0, 0...
在 Android 开发中,当你使用 Dialog 或 DialogFragment 时,可以通过设置 Window 的背景变暗来突出它的可见性。这个效果是通过 dimAmount 属性来控制的。...DialogFragment 假设你正在使用 DialogFragment,那么你可以在 onCreateDialog 或 onViewCreated 方法中配置 Dialog 的窗口属性。...在 DialogFragment 中设置 dimAmount public class MyDialogFragment extends DialogFragment { @Override...使用的是布局文件,需要在onViewCreated中调用上面的代码 @Override public void onViewCreated(@NonNull View view, @Nullable...Dialog 在 Dialog 中设置 dimAmount 如果你直接使用 Dialog 而不是 DialogFragment,你可以在创建 Dialog 时设置 dimAmount: Dialog dialog
hideSoftInputFromWindow(binding.etChat.windowToken, 0) } 复制代码 在DialogFragment显示时弹出软键盘 在DialogFragment...消失时关闭软键盘 dialog关闭分为几种情况,处理方式不一样: 1.用户手动调用DialogFragment.dismiss() 这时可以重写dismiss方法,在调用之前关闭软键盘。...自定义Dialog在dismiss之前通知 DialogFragment 关闭软键盘 转变思路,既然在 DialogFragment 中无法提前监听dialog关闭,那就自定义Dialog重写dismiss...方法,在Dialog关闭之前告知 DialogFragment 关闭软键盘 class EditDialog(context: Context?...最后,还有一种方式就是使用全屏dialog,在原先空白区域加一个透明的View,设置view的点击事件去关闭软键盘和弹窗,这样就避免了点击空白处关闭的问题。
针对DialogFragment的实现方式 Android比较推荐采用DialogFragment实现对话框,它完全能够实现Dialog的所有需求,并且还能复用Fragment的生命周期管理,被后台杀死后还能自动恢复...其实现全屏的原理同Dialog一样,只不过是时机的把握 public class FullScreen DialogFragment extends DialogFragment { @Nullable...(推荐使用DialogFragment,它复用了Fragment的声明周期,被杀死后,可以恢复重建) public class FragmentFullScreen extends DialogFragment...DecorView及rootView的设置,在上面的基础上有两点需要处理,一是:内容区域延展上去;二是:状态栏变成透明(不透明你也看不见啊),如何延展内容区域,参考全屏、沉浸式、fitSystemWindow使用及原理分析...21526023112_.pic.jpg 作者:看书的小蜗牛 原文链接: 三句代码创建全屏Dialog或者DialogFragment:带你从源码角度实现 仅供参考,欢迎指正
利用DialogFragment实现底部弹窗。 下面,就利用以上三种方式分别实现Android中的底部弹窗。...利用DialogFragment实现底部弹窗 在实现弹窗之前,先了解一下DialogFragment DialogFragment在android 3.0时被引入。...使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法。onCreateView即使用定义的xml布局文件展示Dialog。...也是Fragment,所以,DialogFragment有和Fragment一样的生命周期,在onStart方法中初始化弹窗的数据,在onCreateView中加载布局,同样,和Fragment使用方法也是一样的...DialogFragment,这种方式可定制性很高,实现弹窗的方式也比较优雅。
其实这也只是一个DialogFragment 而已,重点只是在于界面的设计 想要使用做出这样一个DialogFragment ,需要自定义一个View,然后将该View传入到该Dialog中 先定义布局...的子类 /** * 作者: 叶应是叶 * 时间: 2017/3/23 12:36 * 描述: */ public class VersionDialogFragment extends DialogFragment...} } 然后再到 MainActivity 中调用Dialog public void showDialog(View view) { final VersionDialogFragment dialogFragment...= VersionDialogFragment.getInstance("2.0.1新版本发布啦", "更多功能等你体验"); dialogFragment.show(getSupportFragmentManager...此时 Dialog 的四个角还都是直的,这里再来将之修改为圆角 在drawable文件夹下新建一个root.xml文件,作为Dialog使用到的布局的根Layout的背景 <?
领取专属 10元无门槛券
手把手带您无忧上云