首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

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

hideSoftInputFromWindow(binding.etChat.windowToken, 0) } 复制代码 在DialogFragment显示时弹出软键盘 在DialogFragment...消失时关闭软键盘 dialog关闭分为几种情况,处理方式不一样: 1.用户手动调用DialogFragment.dismiss() 这时可以重写dismiss方法,在调用之前关闭软键盘。...DialogFragment本身没有监听关闭之前的方法,只有两个相关方法onCancel(dialog: DialogInterface)和onDismiss(dialog: DialogInterface...自定义Dialog在dismiss之前通知 DialogFragment 关闭软键盘 转变思路,既然在 DialogFragment 中无法提前监听dialog关闭,那就自定义Dialog重写dismiss...方法,在Dialog关闭之前告知 DialogFragment 关闭软键盘 class EditDialog(context: Context?

5.2K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    DialogFragment踩坑记

    DialogFragment有两个不同的包名 androidx.fragment.app.DialogFragment android.app.DialogFragment 为了兼容各个Android...需要注意规避 不保留活动 这是一个不得不考虑的场景,实际情况下,发生了不保留活动,业务这边的逻辑一般是重置了,所以也是不需要再展示dialog,不过发生不保留,系统会自动重新展示dialog,这个时候,需要手动关闭...= null) { //处理不保留活动下的场景,这个时候,返回会重新展示,改成主动关闭,不展示 dismissAllowingStateLoss...建议展示Dialog的地方,统一使用DialogFragment,更好的处理生命周期的各种场景,而且在Fragment回收后,也可以自动帮我们关闭Dialog,避免逻辑异常 public void onDestroyView...= null) { mViewDestroyed = true; //fragment销毁后,会自动关闭dialog

    2.2K30

    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

    1.4K41

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

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

    1.8K20

    android推荐使用dialogFrament而不是alertDialog

    上面会通过例子展示这些好处~ 使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法。...,重写onCreateView方法 package com.example.zhy_dialogfragment;   import android.app.DialogFragment;   import...当用户输入帐号密码时,忽然旋转了一下屏幕,帐号密码不见了~~~是不是会抓狂 传统的new AlertDialog在屏幕旋转时,第一不会保存用户输入的值,第二还会报异常,因为Activity销毁前不允许对话框未关闭...而通过DialogFragment实现的对话框则可以完全不必考虑旋转的问题。...可以看到,传统的Dialog旋转屏幕时就消失了,且后台log会报异常~~~使用DialogFragment则不受影响。 好了,关于DialogFragment的介绍结束~~~~ 源码点击下载

    2.4K50

    Android 屏幕旋转 处理 AsyncTask 和 ProgressDialog 的最佳方案

    b)关闭ProgressDialog的代码在线程的onPostExecutez中,但是上个线程如果已经杀死,无法关闭之前ProgressDialog。...c)谷歌的官方不建议使用ProgressDialog,这里我们会使用官方推荐的DialogFragment来创建我的加载框,如果你不了解:请看 Android 官方推荐 : DialogFragment...这样,其实给我们带来一个很大的问题,DialogFragment说白了是Fragment,和当前的Activity的生命周期会发生绑定,我们旋转屏幕会造成Activity的销毁,当然也会对DialogFragment...事实上,如果我关闭了,上一次的对话框会一直存在;如果我不关闭,但是activity是一定会被销毁的,对话框的dismiss也会出异常。...真心很蛋疼,并且即使对话框关闭了,任务关闭了;用户旋转还是会造成重新创建任务,从头开始加载数据。

    2.1K20

    深蓝病毒关闭端口_445端口关闭方法

    3)关闭445端口。 ——————————————————- 注意:(1)关闭了445端口要重启后才会有效,不重启使用指令 netstat -na 再次查看还是未关闭状态。...——————————————————- 现主要讲如何关闭445端口。晚上搜索一下就有一堆445端口的方法,比如这位 羁士 就写的很详细,推荐使用第二种注册表的方式。...,运行”cmd”进入命令行,命令 netstat -an 可以查看所有活动的端口,如果没有关闭,应该处于listening状态。...如果445端口处于listening状态,按照Step2和Step 3的做法关闭445端口。...Step 4 按照Step1 的方法 检查445端口是否已经真的被关闭。 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。

    4.1K80
    领券