随屏幕旋转(横竖屏幕切换)DialogFragment对话框随之自动调整对话框大小。AlertDialog和PopupWindow随屏幕切换而消失,并且如果处理不当很可能引发异常。...DialogFragment的出现完美的解决了横竖屏幕切换Dialog消失的问题。...并且实现它的onCreateView(LayoutInflater, ViewGroup, Bundle) 这个方法来加载一个我们指定的xml布局从而提供对话框内容。...= null) { window.setLayout(lp.width, lp.height); } } } DialogFragment消失操作 DialogFragment在正常Dismiss后并不会直接从当前的栈中移除...DialogFragment并没有对Dialog的消失提供监听给调用者使用,但是我们通过源码分析得知,DialogFragment在onActivityCreate当中其实已经帮我们设置了onDismissListener
当创建的网站成功备案后,很多人会因为第一次网站备案,对网站内容填写的信息不满意,因此想要在备案之后重新修改网站备案,但是大多数已经备案成功的人,并不知道如何修改网站备案?...网站备案后的内容能否更改 原则上来说,网站备案的内容无法进行更改。...不过如果网站备案成功以后,那么网站上的内容是可以更改的,备案之后的网站,可以使用国内的空间,如此国内的用户打开网站的速度要大于其他的空间,所以网站创立之后,备案是十分重要的,一旦没有备案成功,那么网站就被会直接撤销...对于网站域名或者内容不满意的用户,可以在网站备案之后对其进行修改,或者在网站上交ICP备案信息后,可以把网站给服务商,让服务商帮助修改网站备案的内容,这样可以减少个人或企业网站备案的负担与压力,强化服务商的备案责任
是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。...2、 好处与用法 使用DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本一致的声明周期。...且DialogFragment也允许开发者把Dialog作为内嵌的组件进行重用,类似Fragment(可以在大屏幕和小屏幕显示出不同的效果)。...下面通过示例代码给大家介绍下Android中自定义DialogFragment解决宽度和高度问题 Android中自定义DialogFragment解决宽度和高度问题但是我们很多时候想把DialogFragment....setLayout(DeviceUtil.getDeviceWidth(), ResUtils.dp2px(295)); } 设置DialogFrament 从底部弹出,并且弹出动画为向上滑出,消失动画为向下滑出
DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。...2、 好处与用法 使用DialogFragment来管理对话框,当旋转屏幕和按下后退键时可以更好的管理其声明周期,它和Fragment有着基本一致的声明周期。...且DialogFragment也允许开发者把Dialog作为内嵌的组件进行重用,类似Fragment(可以在大屏幕和小屏幕显示出不同的效果)。...6、DialogFragment做屏幕适配 我们希望,一个对话框在大屏幕上以对话框的形式展示,而小屏幕上则直接嵌入当前的Actvity中。这种效果的对话框,只能通过重写onCreateView实现。...可以看到,传统的Dialog旋转屏幕时就消失了,且后台log会报异常~~~使用DialogFragment则不受影响。 好了,关于DialogFragment的介绍结束~~~~ 源码点击下载
收获早知道 阅读完本文后,你可以有以下收获 利用PopupWindow实现底部弹窗 PopupWindow实现底部弹窗时的缺点 解决利用PopupWindow实现底部弹窗,无法覆盖状态栏的问题 利用dialog...由于,我们要将mPopWindow放在整个屏幕的最低部,所以我们将R.layout.activity_main做为它的父容器,将其显示在BOTTOM的位置。...利用DialogFragment实现底部弹窗 在实现弹窗之前,先了解一下DialogFragment DialogFragment在android 3.0时被引入。...是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。 使用DialogFragment至少需要实现onCreateView或者onCreateDIalog方法。...以上就是本文的全部内容,希望对大家的学习有所帮助。
01 概述 DialogFragment是在Android 3.0的时候被引入的, 目的是dialog也变成了碎片。DialogFragment是Fragment的子类,用于创建于用户交互的对话框。...因此它便于Activity更好的控制管理DialogFragment 相比Dialog,DialogFragment能完美横竖屏幕切换的问题。...Dialog会随屏幕切换而消失,DialogFragment会随着屏幕自动调整大小,甚至能通过发送Bundle给Fragment来保存切换之前用户的状态。...b、继承DialogFragment类,重写onCreateView方法 ?...最简单、最方便的方法是利用Java的接口回调机制,在DialogFragment类中定义一个回调接口, Activity(Framgent)实现该接口。 在DialogFragment类中 ?
我们就是单纯的引入我们写的布局,不做其他处理,我们运行后发现界面效果如下图所示: ?...标题内容的上方有一块区域 我们弹框布局的底部的背景色默认是灰色 我们针对这二个先做处理: 其实我们上方的一块区域是弹框的标题, 我们在IOSDialogFragment中添加: ?...所以消失的时候我们不能单纯的让DialogFragment执行dismiss(),而是先让弹框执行下移的动画效果,然后再dismiss()。...刚开始超过屏幕,并且高度为弹框自身的高度,然后再回到原始位置,所以我们就用: ? 从原来的位置,增加了自身高度的距离为起始点,开始移动,然后再回到原来的位置。 消失动画: 只要跟上面反过来就可以了。...6 点击空白让弹框消失问题: 当点击上方一些空白处,我们会发现我们的弹框会直接消失,而不会像我们上面点击按钮点击事件那样,弹框先往下移动再消失,因为DialogFragment默认点击弹框外的时候
转载请表明出处:http://blog.csdn.net/lmj623565791/article/details/37936275 1、概述 众所周知,Activity在不明确指定屏幕方向和configChanges...时,当用户旋转屏幕会重新启动。...2、难点 假设当前Activity在onCreate中启动一个异步线程去夹在数据,当然为了给用户一个很好的体验,会有一个ProgressDialog,当数据加载完成,ProgressDialog消失,设置数据...这样,其实给我们带来一个很大的问题,DialogFragment说白了是Fragment,和当前的Activity的生命周期会发生绑定,我们旋转屏幕会造成Activity的销毁,当然也会对DialogFragment...声明引用指向你的有状态的对象 b) 当Fragment创建时调用setRetainInstance(boolean) c) 把Fragment实例添加到Activity中 d) 当Activity重新启动后,
---- 实现弹框: 因为后来谷歌推荐使用的是DialogFragment,所以我们此处弹框也是使用DialogFragment。...---- 弹框从下而上显示: 我们看过ios的弹框效果,是从底部从下而上升起,然后消失的时候也是从上而下消失。...所以消失的时候我们不能单纯的让DialogFragment执行dismiss(),而是先让弹框执行下移的动画效果,然后再dismiss()。...刚开始超过屏幕,并且高度为弹框自身的高度,然后再回到原始位置,所以我们就用: Animation slide = new TranslateAnimation( Animation.RELATIVE_TO_SELF...我们会发现我们的弹框会直接消失,而不会像我们上面点击按钮点击事件那样,弹框先往下移动再消失,因为DialogFragment默认点击弹框外的时候,会直接dismiss,而不走我们的方法: ?
△ 在大屏幕上的导航轨道 虽然是考虑到较大屏幕的设备而进行的此项更改,但由于腾出了更多的纵向空间来显示任务列表,横向模式显示的手机也能够因此受益。...在大屏幕上,UI 元素要么被拉伸,要么挤在一边,导致屏幕内容显得很不平衡。 △ 在手机上这样显示很自然,但在大屏幕上的空间利用率却不太理想。...△ 双窗格布局能更好地利用屏幕空间 编辑任务和新建任务 调整前 : 当您编辑一个任务时,编辑任务的界面会取代任务详细信息界面,并占据整个屏幕。和此前的任务详细信息界面一样,这样会使屏幕内容显得不平衡。...调整后 : 在大尺寸屏幕上,我们使用了 DialogFragment,于是编辑任务的界面就悬浮在了其他内容之上。...我们还向您说明了为了更好满足用户的需求,您应该怎样围绕可用性而不仅是屏幕空间来重新思考您的设计。 我们希望您喜欢更新和改进后的 Trackr 应用!您可以 查看源代码。
本文实例讲述了Android开发之DialogFragment用法。...分享给大家供大家参考,具体如下: 背景 Android 官方推荐使用 DialogFragment 来代替 Dialog ,可以让它具有更高的可复用性(降低耦合)和更好的便利性(很好的处理屏幕翻转的情况...方法 ②,一般用于创建复杂内容弹窗或全屏展示效果的场景,UI 复杂,功能复杂,一般有网络请求等异步操作。..., R.style.CustomDialog); } 处理屏幕翻转 如果使用传统的 Dialog ,需要我们手动处理屏幕翻转的情况,但使用 DialogFragment 的话,则不需要我们进行任何处理,...更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图
本文的主要内容 DialogFragment 是什么 创建通用的 CommonDialogFragment 实现各种类型的 DialogFragment 在写正文之前,先来一波效果展示吧 ?...的内容之上显示一个静态的对话框。...基本一样的生命周期,使用 DialogFragment 来管理对话框,当旋转屏幕和按下后退键的时候可以更好的管理其生命周期 在手机配置变化导致 Activity 需要重新创建时,例如旋转屏幕,基于 DialogFragment...= null){ mCancelListener.onCancel(); } 这便是我们在构造函数中传入 OnCancelListener 的原因,当我们想要做一些取消对话框后的处理时,只要在构造函数中传入...--不设置在6.0以上会出现,宽度不充满屏幕的情况--> 90% <!
(很好的处理屏幕翻转的情况)。...方法 ②,一般用于创建复杂内容弹窗或全屏展示效果的场景,UI 复杂,功能复杂,一般有网络请求等异步操作。..., R.style.CustomDialog); } 处理屏幕翻转 如果使用传统的 Dialog ,需要我们手动处理屏幕翻转的情况,但使用 DialogFragment 的话,则不需要我们进行任何处理,...window.setAttributes(wlp); return rootView; } 代码 14 行设置了窗口的背景色为透明,这一步是必须的; 代码 15 行设置了窗口的 Pading 值全部为0,这一步也是必须的,内容不能填充全部宽度和高度...扩展阅读: 详细解读 DialogFragment Android Dialog/DialogFragment宽度高度修改/全屏,自定义样式 Full Screen DialogFragment in
--desiredWindowWidth一般是屏幕的宽高--> childWidthMeasureSpec = getRootMeasureSpec(desiredWindowWidth,...Dialog,就是会之后就会利用MeasureSpec.makeMeasureSpec(windowSize, MeasureSpec.AT_MOST)生成RootMeasureSpec,也就是最大是屏幕尺寸...generateLayout创建根布局,Android系统默认实现了多种样式的根布局应,以应对不同的场景,选择的规则就是用户设置的主题样式(Window属性),比如需不需要Title,而布局样式在选定后就不能再改变了...(大小可以),有些属性是选择布局文件的参考,如果是在setContentView之后再设定,就是失去了意义,另外Android也不允许在选定布局后,设置一些影响布局选择的属性,会抛出异常,原理如下。...及rootView的设置,在上面的基础上有两点需要处理,一是:内容区域延展上去;二是:状态栏变成透明(不透明你也看不见啊),如何延展内容区域,参考全屏、沉浸式、fitSystemWindow使用及原理分析
前言 本文主要给大家介绍了关于Android自定义升级对话框的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 实现的效果如下所示 ?...其实这也只是一个DialogFragment 而已,重点只是在于界面的设计 想要使用做出这样一个DialogFragment ,需要自定义一个View,然后将该View传入到该Dialog中 先定义布局...,一个TextView用于标题,一个TextView用于升级内容阐述,一个ImageView,一个确认升级的按钮 <?...可以看到 Dialog 中有较大的空白区,显得有点虚浮 这里可以选择在 VersionDialogFragment 的 onStart() 方法中指定 Dialog 所占屏幕宽度的比例 @Override...,希望本文的内容对各位Android开发者们的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对ZaLou.Cn的支持。
hideSoftInputFromWindow(binding.etChat.windowToken, 0) } 复制代码 在DialogFragment显示时弹出软键盘 在DialogFragment...消失时关闭软键盘 dialog关闭分为几种情况,处理方式不一样: 1.用户手动调用DialogFragment.dismiss() 这时可以重写dismiss方法,在调用之前关闭软键盘。...hideSoftInputFromWindow(it.windowToken, 0) } super.onDismiss(dialog) } 复制代码 运行后软键盘正常关闭,OK...自定义Dialog在dismiss之前通知 DialogFragment 关闭软键盘 转变思路,既然在 DialogFragment 中无法提前监听dialog关闭,那就自定义Dialog重写dismiss...方法,在Dialog关闭之前告知 DialogFragment 关闭软键盘 class EditDialog(context: Context?
对于新技术新框架,我们不会盲目接入,在经过调研试用一阶段后,发现Flow确实可以为业务开发止痛提效,下文分享这个探索的过程。...痛点一:蹩脚地处理ViewModel和View层通信 发现问题 当屏幕可旋转后,LiveData不好用了?...MVVM时,其中一个典型的重构手段就是将Presenter中的回调写法改写成在ViewModel中持有LiveData由View层订阅,比如以下场景: 在大力自习室中,当老师切换至互动模式时,页面需要更改的同时还会弹出...observe,也就导致了每次旋转后都会弹一遍Toast。...,比如LiveData防止因Activity停止时消费导致crash 方案一:阻塞队列 ViewModel持有阻塞队列,View层在主线程死循环读取队列内容。
popover.gif 灰色区域 底层视图 棕色 popover 泡泡不能超出的区域,popover 是不能超出屏幕或者离屏幕太近,否则效果不好。...棕色区域是可以设置的 红色 底层箭头视图的边框 白色 底层箭头视图的背景颜色 蓝色 自定义内容区域,在此区域(contentView)可以添加希望展示的内容 加号按钮 模拟了 sourceView...可以看到当 sourceView(加号按钮) 在不同地方的时候,popover 自动更改方向、调整箭头方向、位置以适应不同的 sourceView 类说明 open class KKPopover: UIView...Bool /// 是否点击空白地方自动消失 /// 设置为 true 的时候,空白地方可以处理触摸事件 /// 当 touchThrough 为 true 的时候,此字段不起作用 arrowDirection...防止内容覆盖圆角 targetSize: CGSize /// 需要展示内容的大小,此字段一定需要重新设置 /// 并且宽高大小加上 minScreenEdg contentInset 不能大于屏幕宽高
现在越来越多的APP在填入账号密码后,第二次登录后,基本不会再次重复输入账号密码了。而是快捷登录,而常用的就是 指纹解锁 和 手势解锁 二种. ---- 好了,我们就开始我们今天的解锁之旅。...这边我只是展示我的需求的逻辑,不同项目可能逻辑不同,不影响本文主要内容。 主要步骤就分三步: 账号密码登录。登录成功后弹出一个弹框让用户选择快捷登录方式。...具体的大家去百度下DialogFragment即可。...{ super.onResume(); aty = (LoginActivity) getActivity(); //让我们的弹框无法点击外面区域消失...判断了是否有硬件支持,和手机是否有指纹之后,要注意,谷歌还需要判断当前设备必须是处于安全保护中的,即:你的设备必须是使用屏幕锁保护的,这个屏幕锁可以是password,PIN或者图案都行。
90 度则为垂直向上运动,随后给与这个方向设置移动速度,设置为 -600 则为表示反方向运动,最后还需要开启自动播放才会生效: 接着我们预览将会发现已经成功的使该子弹反方向进行运动,此时还要注意要将子弹的固定旋转属性开启...: 此时再预览项目则会发现子弹会自动消失,但是顶部的物体存在边框和颜色,我们点击顶部组件,更改背景颜色的透明度为 0,再更改该组件的边框宽度为 0,该组件就可以从视觉上消失在这个页面之中: 接着我们开始为这个飞机主角添加移动事件...,X 值为随机x 变量值, Y 值给与一个固定值距离顶部一定距离即可: 此时敌机未击中将会掉落到屏幕底部,此时在底部添加一个透明的矩形组件命名为底部,敌机触发后自动消失: 11.1.7 优化游戏...接下来创建一个变量记录击落敌机数量: 在子弹触碰到敌机时该数值加一: 我们在前台创建一个文本命名为击落,用于显示该变量值并且设置初始文本为 0: 之后在子弹触碰敌机时添加一个动作,将显示该变量的内容...: 此时预览内容将会实现计分效果: 最后在主角飞机中添加触碰到敌机时的动作: 以上事件当主角飞机触碰敌机使使用物理世界以及触发器执行暂停动作游戏则会停止。
领取专属 10元无门槛券
手把手带您无忧上云