首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏Android 进阶

    DialogFragment 使用

    DialogFragment 意义 它和Fragment基本一致的生命周期,因此便于Activity更好的控制管理DialogFragmentDialogFragment的出现完美的解决了横竖屏幕切换Dialog消失的问题。 如何使用DialogFragment 有两种方法 实现onCreateDialog方法 通过继承DialogFragment并且实现它的onCreateDialog(Bundle savedInstanceState DialogFragment宽高设置无效 DialogFragment在onCreate()和onCreateView()中设置布局大小无效,因为onCreate()和onCreateView()生命周期在 ,而是在DialogFragment中的onDestroyView()回调时,才会对DialogFragment进行出栈操作,所以如果你如果需要在Activity中频繁的显示隐藏一个DialogFragment

    1.9K10发布于 2019-12-26
  • 来自专栏Android码农

    DialogFragment踩坑记

    忙完了美国大选,可以继续更新公众号了 DialogFragment推出来已经很久了,网上相关的文档一大堆,但是稍微不注意,还是会踩坑,本篇基于自身经历总结 要选android X下的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跟背景,

    2.6K30发布于 2021-09-29
  • 来自专栏水击三千

    Android学习之DialogFragment

    这里是对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 =

    1.1K80发布于 2018-02-27
  • 来自专栏developerHaoz 的安卓之旅

    Android 撸起袖子,自己封装 DialogFragment

    本文的主要内容 DialogFragment 是什么 创建通用的 CommonDialogFragment 实现各种类型的 DialogFragment 在写正文之前,先来一波效果展示吧 ? DialogFragmentDemos.gif 一、DialogFragment 是什么 DialogFragment 在 Android 3.0 时被引入,是一种特殊的 Fragment,用于在 Activity 1、DialogFragment 的优点 其实在 Android 中显示对话框有两种类型可供使用,一种是 DialogFragment,而另一种则是 Dialog。 ,是不是感觉很奇怪,其实原因也很简单, DialogFragment 有着 Dialog 所没有的非常好的特性 DialogFragment 本身是 Fragment 的子类,有着和 Fragment 这个类是 DialogFragment 的子类,对 DialogFragment 进行封装,依赖外部传入的 AlertDialog 来构建,同时也处理了 DialogFragment 中 AlertDialog

    2.1K41发布于 2018-08-20
  • 来自专栏码工非码

    DialogFragment IllegalStateException: Can not perform this action after onSaveIn

    一、问题 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

    1.1K20发布于 2021-09-28
  • 来自专栏用户9101034的专栏

    Android入门教程 | DialogFragment 的使用

    [1240] DialogFragment是在3.0时引入的,是一种特殊的 Fragment,用于在 Activity 上展示一个模态的对话框。 DialogFragment 示例 确定UI样式 首先我们得知道做成什么样。一般来说简单的弹窗是一个标题,一端文字内容。 或者带有一两个按钮。 这里我们做一个有标题和文字的简单弹窗。 ; public class SimpleDialog extends DialogFragment { public static final String K_TITLE = "k_title 我们使用DialogFragment.show(@NonNull FragmentManager manager, @Nullable String tag)方法。 小结: 使用 DialogFragment 来实现弹窗。 需要确定 ui 样式,建立 layout,新建类继承DialogFragment,传入数据。 Android零基础入门教程视频参考

    1.4K20发布于 2021-10-26
  • 来自专栏Android必知必会

    Android 必知必会 - DialogFragment 使用总结

    如果移动端访问不佳,请访问 ==> Github 版 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性 FragmentManager 会自动管理 DialogFragment 的生命周期。 方法 ① 和方法 ② 创建 DialogFragment 的一些状态并不是完全一致。 PS:你也可以使用静态 Handler 结合弱引用等来处理异步操作,那样对 DialogFragment 状态的获取就不重要了。 扩展阅读: 详细解读 DialogFragment Android Dialog/DialogFragment宽度高度修改/全屏,自定义样式 Full Screen DialogFragment in

    4.8K31发布于 2019-07-01
  • 来自专栏极客猴

    赶紧把DialogFragment用起来

    01 概述 DialogFragment是在Android 3.0的时候被引入的, 目的是dialog也变成了碎片。DialogFragment是Fragment的子类,用于创建于用户交互的对话框。 在DialogFragment未哇哇坠地之前,我们一般用AlertDialog和Dialog来创建对话框。现在,谷歌官方不建议直接使用Dialog创建对话框。 因此它便于Activity更好的控制管理DialogFragment 相比Dialog,DialogFragment能完美横竖屏幕切换的问题。 b、继承DialogFragment类,重写onCreateView方法 ? 最简单、最方便的方法是利用Java的接口回调机制,在DialogFragment类中定义一个回调接口, Activity(Framgent)实现该接口。 在DialogFragment类中 ?

    1.8K30发布于 2018-08-16
  • 来自专栏Android必知必会

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

    使用总结 做一些业务,但是目标却是用 DialogFragment 实现类似 PopupWindow 效果: 只拦截自身所占空间部分的事件,其余空间的点击事件不处理 可以根据某个 View 定位自身位置 虽然在功能上 PopupWindow 更符合需要,但是使用 DialogFragment 代码更简洁、更方便封装功能模块。 获取 View 位置的时机 如果需要让 DialogFragment 在 onCreate() 等生命周期函数内直接调用显示到某个 View 的位置处,可能无法正确获取到该 View 的坐标,具体参考 但是,如果在界面显示给用户后,DialogFragment 的显示交给用户触发的话,就不需要在意这个问题了。 代码实现 TopFragment.java public class TopFragment extends DialogFragment { private static final

    2K20发布于 2019-07-01
  • 来自专栏小陈飞砖

    Android中 DialogFragment 全屏时 在android11机型失效的问题

    由于 Window 的 decorView 默认是设置有 10dp 的padding。需要获取到decorView后设置其padding为(0, 0, 0, 0) 即可。

    2.3K40编辑于 2022-06-25
  • 来自专栏向治洪

    android推荐使用dialogFrament而不是alertDialog

    DialogFragment也允许开发者把Dialog作为内嵌的组件进行重用,类似Fragment(可以在大屏幕和小屏幕显示出不同的效果)。 上面会通过例子展示这些好处~ 使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法。 ,重写onCreateView方法 package com.example.zhy_dialogfragment;   import android.app.DialogFragment;   import 而通过DialogFragment实现的对话框则可以完全不必考虑旋转的问题。 可以看到,传统的Dialog旋转屏幕时就消失了,且后台log会报异常~~~使用DialogFragment则不受影响。 好了,关于DialogFragment的介绍结束~~~~ 源码点击下载

    3.4K50发布于 2018-01-29
  • 来自专栏程序员修炼之路

    Android经典面试题之Kotlin中如何隐藏DialogFragment和Dialog的导航栏

    DialogFragment隐藏导航栏 在 Android 中,使用 DialogFragment 显示对话框时,如果您希望隐藏系统导航栏(如状态栏和导航键),可以通过设置相关的系统 UI 标志来实现。 这需要在 DialogFragment 的视图创建和显示过程中配置窗口属性。 -- Your layout content goes here --> </FrameLayout> 使用 DialogFragment 要显示这个 DialogFragment,可以在活动或其他片段中调用以下代码 : val dialogFragment = MyDialogFragment() dialogFragment.show(supportFragmentManager, "MyDialogFragmentTag 这种方法允许您的 DialogFragment 在显示时全屏,并隐藏状态栏和导航栏。

    2.9K10编辑于 2024-07-22
  • 来自专栏各类技术文章~

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

    hideSoftInputFromWindow(binding.etChat.windowToken, 0) } 复制代码 在DialogFragment显示时弹出软键盘 在DialogFragment 消失时关闭软键盘 dialog关闭分为几种情况,处理方式不一样: 1.用户手动调用DialogFragment.dismiss() 这时可以重写dismiss方法,在调用之前关闭软键盘。 再来看 mServedView不为null的值,发现是我 DialogFragment 依附的 activity的布局控件,可以理解为当前获取焦点的控件,因此可以传入activity中当前焦点所在的view 自定义Dialog在dismiss之前通知 DialogFragment 关闭软键盘 转变思路,既然在 DialogFragment 中无法提前监听dialog关闭,那就自定义Dialog重写dismiss 方法,在Dialog关闭之前告知 DialogFragment 关闭软键盘 class EditDialog(context: Context?

    5.9K40发布于 2021-11-05
  • 来自专栏程序员修炼之路

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

    在 Android 开发中,当你使用 Dialog 或 DialogFragment 时,可以通过设置 Window 的背景变暗来突出它的可见性。这个效果是通过 dimAmount 属性来控制的。 DialogFragment 假设你正在使用 DialogFragment,那么你可以在 onCreateDialog 或 onViewCreated 方法中配置 Dialog 的窗口属性。 在 DialogFragment 中设置 dimAmount public class MyDialogFragment extends DialogFragment { @Override = new MyDialogFragment(); dialogFragment.show(getSupportFragmentManager(), "MyDialog"); // 动态调整dimAmount dialogFragment.updateDimAmount(0.8f); // 将dimAmount调整为0.8 这样你就可以在不同情况下动态调整 Dialog 的 dimAmount 了。

    1.2K10编辑于 2024-06-24
  • 来自专栏Android源码框架分析

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

    全屏Dialog 全屏Dialog实现方法 这里对象分为两种,一种是针对传统的Dialog,另一种是针对DialogFragment(推荐),方法也分为两种一种是利用代码实现,另一种是利用主题样式Theme 针对DialogFragment的实现方式 Android比较推荐采用DialogFragment实现对话框,它完全能够实现Dialog的所有需求,并且还能复用Fragment的生命周期管理,被后台杀死后还能自动恢复 其实现全屏的原理同Dialog一样,只不过是时机的把握 public class FullScreen DialogFragment extends DialogFragment { @Nullable (推荐使用DialogFragment,它复用了Fragment的声明周期,被杀死后,可以恢复重建) public class FragmentFullScreen extends DialogFragment 21526023112_.pic.jpg 作者:看书的小蜗牛 原文链接: 三句代码创建全屏Dialog或者DialogFragment:带你从源码角度实现 仅供参考,欢迎指正

    5.1K40发布于 2018-06-29
  • 来自专栏设计模式

    仿iOS底部弹框实现及分析

    2 实现弹框: 因为后来谷歌推荐使用的DialogFragment,所以我们此处弹框也是使DialogFragment。 我们一步步来看如何使用DialogFragment来实现我们想要的弹框: 我们按照上面的布局写了具体的弹框布局代码 fragment_ios_dialog.xml: ? 再继承DialogFragment来实现我们的IOSDialogFragment: IOSDialogFragment.java: ? 所以消失的时候我们不能单纯的让DialogFragment执行dismiss(),而是先让弹框执行下移的动画效果,然后再dismiss()。 6 点击空白让弹框消失问题: 当点击上方一些空白处,我们会发现我们的弹框会直接消失,而不会像我们上面点击<取消>按钮点击事件那样,弹框先往下移动再消失,因为DialogFragment默认点击弹框外的时候

    2.2K10发布于 2020-12-15
  • 来自专栏逮虾户

    妖怪般的VerifyError | 奇形怪状的bug

    FATAL EXCEPTION: main at java.lang.VerifyError: androidx/fragment/app/DialogFragment at androidx.fragment.app.Fragment.performCreate com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) at dalvik.system.NativeStart.main(NativeStart.java) 现象很简单,这次我们所有的dialogfragment 而之后简单的分析了下异常,猜测dialogfragment的类本身就出现了问题,所以导致了在类加载的时候,验证字节码安全性失败。但是这部分可是androidx内部的代码啊,这不就是不讲武德吗? W/dalvikvm: VFY: rejected Landroidx/fragment/app/DialogFragment;. 因为这部分我司做了一部分字节码的父类替换,所以DialogFragment其实已经被修改了一部分了。

    1.4K40编辑于 2022-03-06
  • 来自专栏全栈程序员必看

    跟我学在高德地图——标注我的位置

    super.onRequestPermissionsResult(requestCode, permissions, grantResults); } 3.展示获取到的位置数据 定义一个DialogFragment 展示数据,不熟悉DialogFragment的同学请参考 AltertDialog在DialogFragment中的使用 package com.pansoft.oilgas.gaodenavigation ; import android.app.AlertDialog; import android.app.Dialog; import android.app.DialogFragment; import android.os.Bundle; import com.amap.api.location.AMapLocation; public class ShowLocationFragment extends DialogFragment

    1.6K10编辑于 2022-08-25
  • 来自专栏developerHaoz 的安卓之旅

    Android 录音功能直接拿去用

    ,对于 DialogFragment 不是很了解,可以先看看我这篇文章 Android 撸起袖子,自己封装 DialogFragment。 public class RecordAudioDialogFragment extends DialogFragment { private boolean mStartRecording public static RecordAudioDialogFragment newInstance(int maxTime) { RecordAudioDialogFragment dialogFragment (bundle); return dialogFragment; } @NonNull @Override public Dialog onCreateDialog 点击这里,喜欢的话,欢迎来波 star 和 fork ---- 猜你喜欢 Android 一起来看看知乎开源的图片选择库 Android 能让你少走弯路的干货整理 Android 撸起袖子,自己封装 DialogFragment

    3.6K31发布于 2018-08-20
  • 来自专栏郭霖

    原来在Android中请求权限也可以有这么棒的用户体验

    支持DialogFragment 刚才已经提到了,在上一个版本当中,PermissionX引入了自定义权限提醒对话框的功能,使得开发者可以自由地定制你想要的对话框样式。 然而,有朋友在GitHub上对这种方案提出了疑问,因为他想要使用DialogFragment来自定义权限提醒对话框,PermissionX的限制导致他只能使用Dialog了。 ? DialogFragment也是Google推荐使用的一种对话框实现方案,虽然我认为DialogFragment能实现的功能用Dialog也都能实现,但是强制使用Dialog确实显得有那么一些不友好。 虽然上述方案是否定了,但是对于DialogFragment的需求却是实实在在存在的。 DialogFragment自定义对话框时同样将这几个必要的方法进行实现即可。

    3.3K30发布于 2020-09-16
领券