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

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

复制代码 在DialogFragment消失时关闭软键盘 dialog关闭分为几种情况,处理方式不一样: 1.用户手动调用DialogFragment.dismiss() 这时可以重写dismiss方法...本身没有监听关闭之前的方法,只有两个相关方法onCancel(dialog: DialogInterface)和onDismiss(dialog: DialogInterface) 重写onCancel...此方式排除,再来看看onDismiss方法 重写onDismiss(dialog: DialogInterface) override fun onDismiss(dialog: DialogInterface...方法,在Dialog关闭之前告知 DialogFragment 关闭软键盘 class EditDialog(context: Context?...最后,还有一种方式就是使用全屏dialog,在原先空白区域加一个透明的View,设置view的点击事件去关闭软键盘和弹窗,这样就避免了点击空白处关闭的问题。

5.2K40

DialogFragment 使用

DialogFragment 意义 它和Fragment基本一致的生命周期,因此便于Activity更好的控制管理DialogFragment。...如何使用DialogFragment 有两种方法 实现onCreateDialog方法 通过继承DialogFragment并且实现它的onCreateDialog(Bundle savedInstanceState...)方法来创建一个DialogFragment,这个方法返回的是一个Dialog,意味着我们需要创建一个AlertDialog,并返回。...DialogFragment宽高设置无效 DialogFragment在onCreate()和onCreateView()中设置布局大小无效,因为onCreate()和onCreateView()生命周期在...,所以我们如果需要对Dialog的消失进行监听的话只需重写onDismiss方法即可,还有一种方式则是覆盖父类设置的onDismissListener监听,但是需注意的时,这个监听的复写,必须在父类onActivityCreate

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

    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...,当然项目也基本都从support转成了Android x,感觉这个注释可以更新下了 普通的Fragment还是DialogFragment 先看下系统onCreate的方法 mShowsDialog

    2.2K30

    Android studio的minSdkVersion和targetSdkVersion

    我们项目里build.gradle的minSdkVersion和targetSdkVersion相信非常多人都不太理解。我在网上也看了很多关于这两者差别的文章,感觉说的都非常模糊。...直到我在stackOverFlow看到Android Min SDK Version vs....说白了,这篇文章的目的是为了区分minSDK和targetSDK,这两者相当于一个区间。...你能够用到targetSDK中最新的API和最酷的新功能,但你又不得不向下兼容到minSDK,保证这个区间内的设备都能够正常的执行你的app。换句话说,你想使用Android刚刚推出的新特性。...另外一个样例:假设你想给你的项目增加Android 5.0的Material Design,有一些用户可能会升级到5.0而使用到你的新特性,而有一部分用户的手机硬件太老,不支持升级到5.0,除非他们换新手机

    1.1K10

    Android的内部存储和外部存储怎么区分?

    1.定义   内部存储:内部存储位于Android手机系统的data/data/这个目录下,内部存储是私有的,主要用于存储系统和应用程序的某些数据,对于其他应用程序来说是不可见的,并且会随着应用程序的卸载而被删除...外部存储:外部存储可以分为外部私有存储和外部公有存储。...外部私有存储位于/storage/emulated/0/Android/data/包名这个目录下,它和内部存储一样是私有的,并且其他应用程序是无法访问的,会随着应用程序的卸载而被清除。        ...,可以有以下取值:(getExternalFilesDir和Environment.getExternalStoragePublicDirectory这两个函数的参数type的取值是一样的) Environment.DIRECTORY_MUSIC...注:在Android10之后,不能再使用外部公有存储下的两个方法了,应用程序只能访问自己的外部私有目录,所以Android10之后尽量使用外部私有存储下的两个方法。

    78911

    一个简单的Android网络访问全局码判断及通用数据解析方案

    在这里,因为我们后端并没有对有些特定码有处理逻辑,所以我暂时空着,但为了备用,留下了错误码的出口,可以调用 setIDataCode(),实现相应的接口即可拿到失败码,更多的特定业务方法,可以仿照我的写法自由添加或者更改...(如果需要自定义错误码提示,这个时候存储就起作用了,在 setJson 方法里面,自己加switch来决定) 为什么使用静态内部类,数据持有,同时避免访问外部变量或者方法,仿建造者的使用方式。...(可以将Builder方法注释,然后采用 new ErrorDialogFragmentUtils.Client,然后也是一顿顿点点点,不过为了更习惯的使用,加入了Builder方法) DialogFragment...this.m = m; } } public static class DataBean { ... } } 一个通用的DialogFragment...null; } /** * 复写此方法, 并可在此方法中设置,回调监听取消按钮所需的数据 * * @return */ protected

    43030

    Android段子类app - 相乐搞笑

    相乐搞笑(xiangle-android) 之前分享了 xiangle-ios ,现把Android版也分享出来 项目介绍 主框架: TabLayout+ViewPager 子页面: 所有子页面共用一个...bean: 主要是网络请求返回数据的实体 fragment: 子页面的fragment listener: 两个监听器,列表(list)和详情(detail)(以接口返回的数据来区分);每个监听器定义两个方法...: 工具类,如屏幕信息,app信息,retrofit,oss等 view: 自定义view,如九宫格,圆形头像,弹窗(DialogFragment) 介绍 分享风趣幽默的段子/视频/图片 首页:视频/图片.../文字 任你选择 详情:收藏/评论/点赞 雁过留声 发现:搜索/话题/活动 应有尽有 我的:收藏/评论/点赞 一个不少 截图 快速开始 1.使用Android Studio打开 获取最新代码...github:https://github.com/chudaozhe/xiangle-android gitee:https://gitee.com/chudaozhe/xiangle-android

    52320

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

    DialogFragment隐藏导航栏 在 Android 中,使用 DialogFragment 显示对话框时,如果您希望隐藏系统导航栏(如状态栏和导航键),可以通过设置相关的系统 UI 标志来实现。...以下是一个完整的例子,展示了如何在 DialogFragment 中隐藏系统导航栏(使用 Kotlin): import android.os.Bundle import android.view.View...") 小结 通过在 DialogFragment 的 onViewCreated 方法中设置系统 UI 的可见性标志,可以实现隐藏系统导航栏的效果。...这种方法允许您的 DialogFragment 在显示时全屏,并隐藏状态栏和导航栏。...Dialog中隐藏导航栏 在 Android 中,如果想在 Dialog 中隐藏系统导航栏(包括状态栏和底部的导航键),可以通过设置窗口属性来实现。

    19410

    ​使用Kotlin和Android Studio开发Android应用的详细教程

    引言Android开发是移动应用开发领域中的一个重要方向,而Kotlin作为一种现代的、表达力强大的编程语言,逐渐成为Android开发的首选语言。...本教程将详细介绍如何使用Kotlin和Android Studio开发一个简单的Android应用,包括项目的创建、界面设计、代码编写以及运行应用。...步骤1:安装Android Studio和配置环境首先,确保你的系统中已经安装了最新版本的Android Studio。你可以从官方网站下载并按照安装指南进行安装。...安装完成后,打开Android Studio,确保SDK和其他必要的组件已成功安装。创建或导入一个新的Android项目。步骤2:创建新的Android项目打开Android Studio。...你已经成功创建并运行了一个简单的Android应用程序,使用了Kotlin语言和Android Studio进行开发。这只是一个简单的入门示例,你可以根据需要扩展应用,添加更多功能和界面元素。

    2.4K10

    一种android中实现“圆角矩形”的方法

    内容简介 文章介绍ImageView(方法也可以应用到其它View)圆角矩形(包括圆形)的一种实现方式,四个角可以分别指定为圆角。...另一种情况下ImageView的大小是固定的,此时图片的实际填充效果(可视范围)受到scaleType的影响,不一定和View大小一致,不过往往会保持图片宽高比例,使得最终ImageView的宽高和显示的图片是一致的...clipPath()版本 方法android.graphics.Canvas#clipPath(android.graphics.Path)用来沿着Path指定的路线从目前的canvas裁剪出新的区域的...上面的代码中,onDraw()方法在新的layer中使用Xfermode绘图模式来画圆和矩形。...Android有关2D和3D的很多操作,像上面的clipPath和Xfermode,底层都是native方式执行的,framework层几乎只是很薄的C++包装。

    3.6K70

    将Eclipse中的项目迁移到Android Studio中的方法

    ,估计也在慢慢的打算转向使用Android Studio,那么我们现在就在讨论一下怎么才能把Eclipse里面的项目导入到Android Studio中去。...使用过Android Studio中的人都知道,项目中要有Gradle,那么方法就是首先要做的是生成Build Gradle的文件,毕竟Android Studio是用Gradle来管理项目的。...注:导出的项目将会和原来的项目在同一目录,覆盖原来的同时,会新增一个叫build.gradle的文件,导入Android Studio时将首先读取这个文件。...导入到Android Studio中: 1.在Android Studio 中,首先关掉你当前的打开的项目。...但是为了更好的使用之后的功能和充分利用构建变量,小编还是强烈的建议先从ADT插件中生成Gradle文件再导入到Android Studio中。

    1.5K60

    android推荐使用dialogFrament而不是alertDialog

    DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。...2、 好处与用法 使用DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本一致的声明周期。...且DialogFragment也允许开发者把Dialog作为内嵌的组件进行重用,类似Fragment(可以在大屏幕和小屏幕显示出不同的效果)。...上面会通过例子展示这些好处~ 使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法。...)继承DialogFragment,重写onCreateView方法 package com.example.zhy_dialogfragment;   import android.app.DialogFragment

    2.4K50

    Android 撸起袖子,自己封装 DialogFragment

    DialogFragmentDemos.gif 一、DialogFragment 是什么 DialogFragment 在 Android 3.0 时被引入,是一种特殊的 Fragment,用于在 Activity...1、DialogFragment 的优点 其实在 Android 中显示对话框有两种类型可供使用,一种是 DialogFragment,而另一种则是 Dialog。...,是不是感觉很奇怪,其实原因也很简单, DialogFragment 有着 Dialog 所没有的非常好的特性 DialogFragment 本身是 Fragment 的子类,有着和 Fragment...基本一样的生命周期,使用 DialogFragment 来管理对话框,当旋转屏幕和按下后退键的时候可以更好的管理其生命周期 在手机配置变化导致 Activity 需要重新创建时,例如旋转屏幕,基于 DialogFragment...OnCancelListener,实现 onCancel() 方法就行了 三、实现各种类型的 DialogFragment 既然前面我们创建了 CommonFragment 作为所有 DialogFragment

    1.4K41

    webapp打包为Android的apk包的一种方法

    开发了个纯web的app小demo,想着最终集成到微信公众号上做个小功能,并测试下如何跨平台的运行在Android上。...关于如何打包为Android的安装包,总结了下其中的一种方法,使用cordova打包为Android的apk安装包。 先看下在电脑web浏览器上的运行效果: ? 首先需要安装cordova。...假设已经具备的nodejs是环境,可以执行npm下载安装。 npm install -g cordova npm默认的下载有点儿慢,更改为淘宝的镜像源,方法如下。...yarn功能和npm差不多,但yarn更快,更稳定和好用。网上可以查资料比较npm和yarn区别了解下。...浏览器运行 cordova run 4.打包apk安卓运行,生成的安卓包 cordova platform add android cordova build android 在这步之前,先检查下环境是否

    1.5K20

    Android入门教程 | DialogFragment 的使用

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

    1.1K20

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

    大体上还是和之前我写的那篇文章一个一年没解决的ClassNotFoundException|类加载机制探索这个问题非常类似。...这个也是来b之前和字节大佬面试切磋时的一个问题吧,现在回头看看,其实还是受益匪浅,也大概知道这种问题如何去查看和调试了。 问题的本质还是之前说的androidx的升级。...因为这部分我司做了一部分字节码的父类替换,所以DialogFragment其实已经被修改了一部分了。...拖入android studio,点击apk 找到你想看的类,右键 show bytecode 看一看 这部分异常参考资料 Android 不想和你说话,抛了个 java.lang.VerifyError...DexVerify 中的 verifyMethod() 最终会调用 CodeVerify 的 dvmVerifyCodeFlow() 来确保类中的单个方法执行流是合法的。

    1K40
    领券