No title

FragmentDialog详解

DialogFragment优势

1、有和Fragment基本一致的生命周期,DialogFragment内的业务逻辑可以更好的控制

2、随屏幕旋转(横竖屏幕切换)DialogFragment对话框随之自动调整对话框大小。而AlertDialog和PopupWindow随屏幕切换而消失。 DialogFragment的出现解决 横竖屏幕切换Dialog消失的问题

3、具有更高的可复用性(降低耦合)和更好的便利性(很好的处理屏幕翻转的情况)

DialogFragment的使用

1、方式一:重写DialogFragment的onCreateDialog方法,返回一个Dialog

2、方式二:重写DialogFragment的onCreateView方法,该方法创建的View将会作为Dialog的内容布局

onCraeteView设置的视图优先级要高于在onCreateDialog

3、对Dialog属性的设置必须在onCretaeDialog方法后面执行,不然得不到Dialog实例。可以在DialogFragment的onStar中来对Dialog的样式进行设置

4、DialogFragment在正常Dismiss后并不会直接从当前的栈中移除,而是在DialogFragment中的onDestroyView()回调时,才会对DialogFragment进行出栈操作,所以如果你如果需要在Activity中频繁的显示隐藏一个DialogFragment,那么在dismiss时需要手动的调用dismissAllowingStateLoss()方法,并且再次show时不能用上一个DialogFragment实例

Author: zhf
Link: http://yoursite.com/2020/10/27/FragmentDialog详解/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.
Donate
  • 微信
  • 支付寶