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

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

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

19410

项目需求讨论-仿ios底部弹框实现及分析

hi,在项目开发中,有时候需要仿照ios的底部弹框做效果,比如我们在iPhone上面关闭定位的时候,就会弹出ios特有的底部弹框: ?...我们一步步来看如何使用DialogFragment来实现我们想要的弹框: 我们按照上面的布局写了具体的弹框布局代码 fragment_ios_dialog.xml: 如何让弹框变成在底部呢?????? 我们知道最后我们的View是在window下面的,我们只需要让window的Grivaty属性是Bottom,这样,里面的元素都是居于底部即可。...的确是在底部了,但是这时候可能有人会有疑问,我们这个自定义View的布局fragment_ios_dialog.xml里面,明明layout_width是match_parent,可是左右二边是间隙的,...只需要在onViewCreated中,通过findViewByid获取View实例,然后设置点击事件即可。

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

    android推荐使用dialogFrament而不是alertDialog

    DialogFragment在android 3.0时被引入。是一种特殊的Fragment,用于在Activity的内容之上展示一个模态的对话框。典型的用于:展示警告框,输入框,确认框等等。...且DialogFragment也允许开发者把Dialog作为内嵌的组件进行重用,类似Fragment(可以在大屏幕和小屏幕显示出不同的效果)。...3、 重写onCreateView创建Dialog a)布局文件,我们创建一个设置名称的布局文件: xml version="1.0" encoding="utf-8"?...6、DialogFragment做屏幕适配 我们希望,一个对话框在大屏幕上以对话框的形式展示,而小屏幕上则直接嵌入当前的Actvity中。这种效果的对话框,只能通过重写onCreateView实现。...: 在默认的values下新建一个bools.xml <?

    2.4K50

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

    /transparent android:windowIsFloating">false 第二步:设置样式,以DialogFragment...generateLayout一般是通过setContentView调用的,所以即使提前设置了压根没效果,PhoneWindow仍然是根据windowIsFloating来设置WindowManager.LayoutParams...:windowBackground,这个属性如果采用默认值,设置会有黑色边框,其实这里主要是默认背景的问题,默认采用了有padding的InsetDrawable,设置了一些边距,导致上面的状态栏,底部的导航栏...之后再设定,就是失去了意义,另外Android也不允许在选定布局后,设置一些影响布局选择的属性,会抛出异常,原理如下。...及rootView的设置,在上面的基础上有两点需要处理,一是:内容区域延展上去;二是:状态栏变成透明(不透明你也看不见啊),如何延展内容区域,参考全屏、沉浸式、fitSystemWindow使用及原理分析

    4.2K40

    仿iOS底部弹框实现及分析

    hi,在项目开发中,有时候需要仿照ios的底部弹框做效果,比如我们在iPhone上面关闭定位的时候,就会弹出ios特有的底部弹框: ?...我们一步步来看如何使用DialogFragment来实现我们想要的弹框: 我们按照上面的布局写了具体的弹框布局代码 fragment_ios_dialog.xml: ?...那接下去如何让弹框变成在底部呢?????? 我们知道最后我们的View是在window下面的,我们只需要让window的Grivaty属性是Bottom,这样,里面的元素都是居于底部即可。 ?...的确是在底部了,但是这时候可能有人会有疑问,我们这个自定义View的布局fragment_ios_dialog.xml里面,明明layout_width是match_parent,可是左右二边是间隙的,...这时候比如我想要按照自己的项目要求调整二边的间隙岂不是单纯的在自己的fragment_ios_dialog.xml就无法实现了。

    1.9K10

    实践 | 为 Trackr app 适配大屏幕设备

    导航 调整前 : 从任务 (Tasks) 界面,您可以从底部应用栏的菜单中找到归档 (Archive) 和设置 (Settings) 选项。...在大屏幕设备上,弹出菜单是一个小触控区域,它处于不太方便操作的位置。并且底部应用栏也被过度拉伸了。 △ 左侧: 手机上的导航展示。右侧: 平板上的导航展示。...调整后: 当屏幕变宽时,我们显示导航轨道 (navigation rail) 来取代底部应用栏。我们也将悬浮操作按钮 (用于打开新建任务界面) 放到导航轨道中,从而完全移除底部应用栏。...调整后 : 在大尺寸屏幕上,我们使用了 DialogFragment,于是编辑任务的界面就悬浮在了其他内容之上。...我们展示了通过添加导航轨道和使用 SlidingPaneLayout,是如何让 Trackr 应用不仅看起来更好,同时还显著改善了可用性和创造了在手机上无法感受的体验的。

    1.7K20

    赶紧把DialogFragment用起来

    01 概述 DialogFragment是在Android 3.0的时候被引入的, 目的是dialog也变成了碎片。DialogFragment是Fragment的子类,用于创建于用户交互的对话框。...因此它便于Activity更好的控制管理DialogFragment 相比Dialog,DialogFragment能完美横竖屏幕切换的问题。...Dialog会随屏幕切换而消失,DialogFragment会随着屏幕自动调整大小,甚至能通过发送Bundle给Fragment来保存切换之前用户的状态。...最简单、最方便的方法是利用Java的接口回调机制,在DialogFragment类中定义一个回调接口, Activity(Framgent)实现该接口。 在DialogFragment类中 ?...参考文档 https://developer.android.com/reference/android/app/DialogFragment.html 小贴士 因微信不支持站内链接, 请点击【阅读原文

    1.5K30

    Android 撸起袖子,自己封装 DialogFragment

    DialogFragmentDemos.gif 一、DialogFragment 是什么 DialogFragment 在 Android 3.0 时被引入,是一种特殊的 Fragment,用于在 Activity...基本一样的生命周期,使用 DialogFragment 来管理对话框,当旋转屏幕和按下后退键的时候可以更好的管理其生命周期 在手机配置变化导致 Activity 需要重新创建时,例如旋转屏幕,基于 DialogFragment...= null) { //在5.0以下的版本会出现白色背景边框,若在5.0以上设置则会造成文字部分的背景也变成透明 if(Build.VERSION.SDK_INT...--不设置在6.0以上会出现,宽度不充满屏幕的情况--> 90% 在某些系统上面设置背景颜色之后出现奇怪的背景,处这里设置背景为透明,为了隐藏边框 --> <!

    1.4K41

    DialogFragment 使用

    随屏幕旋转(横竖屏幕切换)DialogFragment对话框随之自动调整对话框大小。AlertDialog和PopupWindow随屏幕切换而消失,并且如果处理不当很可能引发异常。...DialogFragment的出现完美的解决了横竖屏幕切换Dialog消失的问题。...如何使用DialogFragment 有两种方法 实现onCreateDialog方法 通过继承DialogFragment并且实现它的onCreateDialog(Bundle savedInstanceState...DialogFragment宽高设置无效 DialogFragment在onCreate()和onCreateView()中设置布局大小无效,因为onCreate()和onCreateView()生命周期在...DialogFragment并没有对Dialog的消失提供监听给调用者使用,但是我们通过源码分析得知,DialogFragment在onActivityCreate当中其实已经帮我们设置了onDismissListener

    1.6K10

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

    总使用了Volley去加载 了一张美女照片,然后在onDestroy中对Bitmap进行存储,在onCreate添加一个或者恢复一个Fragment的引用,然后对Bitmap进行读取和设置。...效果图: 5、配置configChanges,自己对屏幕旋转的变化进行处理 在menifest中进行属性设置: <activity android:name=".ConfigChangesTestActivity...从效果图可以看到,无论如何旋转不会重启Activity. 效果图: 6、旋转屏幕的最佳实践 下面要开始今天的难点了,就是处理文章开始时所说的,当异步任务在执行时,进行旋转,如果解决上面的问题。...this); 在onSaveInstanceState把当前任务加入Fragment 我设置了等待5秒,足够旋转三四个来回了~~~~可以看到虽然在不断的重启,但是丝毫不影响加载数据任务的运行和加载框的显示...~~~~ 效果图: 可以看到我在加载的时候就三心病狂的旋转屏幕~~但是丝毫不影响显示效果与任务的加载~~ 最后,说明一下,其实不仅是屏幕旋转需要保存数据,当用户在使用你的app时,忽然接到一个来电,长时间没有回到你的

    2.1K20

    Android 沉浸式解析和轮子使用

    小结:Android4.4-Android5.0的步骤就是为window添加 FLAGTRANSLUCENTSTATUS 的 Flag,然后添加一个假的状态栏,通过上述方法设置的沉浸式在 Android4.4...> 在开发过程中,使用代码设置 windowTranslucentStatus 需要通过版本号的判断兼容 Android5.0 以下和 Android 5.0 以上。...中有设置并且 dialog 出现不需要改变状态栏则不用设置 ZanImmersionBar,如果需要做定制化上面的高级用法在 Dialog 也支持 结合 dialogFragment 中使用 ZanImmersionBar.with...2.5 在 PopupWindow 中实现沉浸式 重点是调用以下方法,但是此方法会导致有导航栏的手机底部布局会被导航栏覆盖,还有底部输入框无法根据软键盘弹出而弹出。...这个属性在顶部弹出的时候是需要使用,如果是底部弹框需要看情况而定。

    3.2K10

    Android 一起来看看知乎开源的图片选择库

    本篇文章已授权微信公众号 guolin_blog (郭霖)独家发布 前言 在实际开发中,图片选择器一直都是必不可少的一个部分,不管是 QQ 头像的设置,还是发送一条装逼的微信朋友圈,都要用到图片选择器来给用户选择他们想要上传的图片...,如果你的 APP 是跑在 Android 6.0+ 的话,你需要在下个步骤之前处理一下运行时权限。...Matisse 中,而且你并不能通过以下方法来限制可选择的 mime 类型: MimeType.ofAll() MimeType.of(MimeType type, MimeType... rest)...如果希望可以灵活地适应不同屏幕的网格大小,请使用 spanCount(int spanCount),该值不一定被应用,因为图片网格应该填满视图容器。测量的图片网格的大小将尽可能接近该值。...猜你喜欢 Android 一款十分简洁、优雅的日记 APP Android 能让你少走弯路的干货整理 Android 撸起袖子,自己封装 DialogFragment 手把手教你从零开始做一个好看的 APP

    1.7K30

    《Android基础:Fragment,看这篇就够了》

    可适配(Adaptability):根据硬件的屏幕尺寸、屏幕方向,能够方便地实现不同的布局,这样用户体验更好。 ?...在Activity中添加Fragment的方式有两种: 静态添加:在xml中通过 的方式添加,缺点是一旦添加就不能在运行时删除。 动态添加:运行时添加,这种方式比较灵活,因此建议使用这种方式。...然后在onCreate()中,通过以下代码将Fragment添加进Activity中。...DialogFragment DialogFragment是Android 3.0提出的,代替了Dialog,用于实现对话框。他的优点是:即使旋转屏幕,也能保留对话框状态。...使用非常方便,只需要下载JSON动画文件,然后在XML中写入: <com.airbnb.lottie.LottieAnimationView android:layout_width="wrap_content

    4K62

    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...NO_FRAME会带Window.FEATURE_NO_TITLE的feature,所以设置NO_Frame可以同时实现没有title的效果 另外,看下NO_FRAME是如何实现没有背景的 public

    2.2K30
    领券