首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android 必知必会 - DialogFragment 使用总结

如果移动端访问不佳,请访问 ==> Github 版 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性..., R.style.CustomDialog); } 处理屏幕翻转 如果使用传统的 Dialog ,需要我们手动处理屏幕翻转的情况,但使用 DialogFragment 的话,则不需要我们进行任何处理,...方法 ② 则没有此问题,而且,其创建方式默认使用了自定义 View,更便于应对复杂 UI 的场景。...PS:你也可以使用静态 Handler 结合弱引用等来处理异步操作,那样对 DialogFragment 状态的获取就不重要了。...扩展阅读: 详细解读 DialogFragment Android Dialog/DialogFragment宽度高度修改/全屏,自定义样式 Full Screen DialogFragment in

3.9K31

DialogFragment踩坑记

普通的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,避免逻辑异常

1.9K30

Android开发之DialogFragment用法实例总结

本文实例讲述了Android开发之DialogFragment用法。...分享给大家供大家参考,具体如下: 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性(很好的处理屏幕翻转的情况..., R.style.CustomDialog); } 处理屏幕翻转 如果使用传统的 Dialog ,需要我们手动处理屏幕翻转的情况,但使用 DialogFragment 的话,则不需要我们进行任何处理,...方法 ② 则没有此问题,而且,其创建方式默认使用了自定义 View,更便于应对复杂 UI 的场景。...PS:你也可以使用静态 Handler 结合弱引用等来处理异步操作,那样对 DialogFragment 状态的获取就不重要了。

1.5K20

Android 撸起袖子,自己封装 DialogFragment

1、DialogFragment 的优点 其实在 Android 中显示对话框有两种类型可供使用,一种是 DialogFragment,而另一种则是 Dialog。...在 DialogFragment 产生之前,我们创建对话框一般采用 Dialog,而且从代码的编写角度来看,Dialog 使用起来其实更加简单,但是 Google 却是推荐尽量使用 DialogFragment...基本一样的生命周期,使用 DialogFragment 来管理对话框,当旋转屏幕和按下后退键的时候可以更好的管理其生命周期 在手机配置变化导致 Activity 需要重新创建时,例如旋转屏幕,基于 DialogFragment...的对话框将会由 FragmentManager 自动重建,然而基于 Dialog 实现的对话框却没有这样的能力 2、DialogFragment使用 使用 DialogFragment 至少需要实现...AlertDialog 或者 Dialog 创建出 我们想要的 Dialog,因为这篇文章主要是讲 DialogFragment 的封装,至于 DialogFragment 具体的使用,可以参考下洋神的这篇文章

1.3K41

Android 必知必会 - DialogFragment 实现类似 PopupWindow 效果

使用总结 做一些业务,但是目标却是用 DialogFragment 实现类似 PopupWindow 效果: 只拦截自身所占空间部分的事件,其余空间的点击事件不处理 可以根据某个 View 定位自身位置...虽然在功能上 PopupWindow 更符合需要,但是使用 DialogFragment 代码更简洁、更方便封装功能模块。...但是,如果在界面显示给用户后,DialogFragment 的显示交给用户触发的话,就不需要在意这个问题了。...效果图 未使用沉浸式状态栏、 isTranslucentDecor 传值为 false ? 使用沉浸式状态栏、 isTranslucentDecor 传值为 false ,位置定位差个状态栏高度 ?...使用沉浸式状态栏、 isTranslucentDecor 传值为 true,位置定位修复 ?

1.6K20

android推荐使用dialogFrament而不是alertDialog

DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog。注:官方不推荐直接使用Dialog创建对话框。...2、 好处与用法 使用DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本一致的声明周期。...上面会通过例子展示这些好处~ 使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法。...4、 重写onCreateDialog创建Dialog 在onCreateDialog中一般可以使用AlertDialog或者Dialog创建对话框,不过既然google不推荐直接使用Dialog,我们就使用...可以看到,传统的Dialog旋转屏幕时就消失了,且后台log会报异常~~~使用DialogFragment则不受影响。 好了,关于DialogFragment的介绍结束~~~~ 源码点击下载

2.3K50

解决Android中自定义DialogFragment解决宽度和高度问题

DialogFragment产生之前,我们创建对话框:一般采用AlertDialog和Dialog。注:官方不推荐直接使用Dialog创建对话框。...2、 好处与用法 使用DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本一致的声明周期。...上面会通过例子展示这些好处~ 使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法。...onCreateView即使用定义的xml布局文件展示Dialog。onCreateDialog即利用AlertDialog或者Dialog创建出Dialog。...下面通过示例代码给大家介绍下Android中自定义DialogFragment解决宽度和高度问题 Android中自定义DialogFragment解决宽度和高度问题但是我们很多时候想把DialogFragment

4.3K20

Android中如何动态的调整Dialog的背景深暗

在 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

9010

DialogFragment自动弹出软键盘,消失时关闭软键盘

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的点击事件去关闭软键盘和弹窗,这样就避免了点击空白处关闭的问题。

5K40

三句代码创建全屏Dialog或者DialogFragment:带你从源码角度实现全屏Dialog

针对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:带你从源码角度实现 仅供参考,欢迎指正

3.3K40

Android如何自定义升级对话框示例详解

其实这也只是一个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的背景 <?

57721
领券