Android 沉浸式全屏 Android 4.4 带来了沉浸式全屏体验, 在沉浸式全屏模式下, 状态栏、 虚拟按键动态隐藏, 应用可 以使用完整的屏幕空间, 按照 Google 的说法, 给用户一种...一起使用, 来实现沉 浸模式。...沉浸模式 (Immersive) 沉浸模式通过设置下面的标记位实现: var uiOpts = uiOpts = SystemUiFlags.LayoutStable | SystemUiFlags.LayoutHideNavigation...黏性沉浸模式 (Sticky Immersive) 黏性沉浸模式通过设置下面的标记位来实现: uiOpts = SystemUiFlags.LayoutStable | SystemUiFlags.LayoutHideNavigation...根据 Android 开发文档中提到, 应用在使用沉浸模式时最好将 ActionBar 设置为 Overlay 模式, 具体设置可以参考这里: https://developer.android.com
; import android.app.ActionBar; import android.app.ActionBar.LayoutParams; import android.app.Activity...; import android.os.Bundle; import android.util.TypedValue; import android.view.Menu; import... android.view.View; import android.view.ViewGroup; import android.view.Window; import android.view.WindowManager...系统大于等于4.4的系统才执行沉浸式的功能 if (android.os.Build.VERSION.SDK_INT > 18) { Window window = ...> android="http://schemas.android.com/apk/res/android" > <gradient android:angle
前言 Android沉浸式体验有几个注意点 Android4.4(api19)及以上的版本才支持 Android5.0(api21)及以上的版本状态栏多了一个半透的黑色层 Android5.0(api21...> android="http://schemas.android.com/apk/res/android" android:layout_width...> android="http://schemas.android.com/apk/res/android" android:layout_width..."> 不建议用以下方式(在有侧滑的时候有问题) android:fitsSystemWindows="true" android:clipToPadding="true"...android:background="@android:color/holo_blue_light" 这种方式首先最外层必须要设置为背景色 它会用该背景色来填充状态栏和虚拟按键栏 一个页面只有一个该属性会生效
做APP开发的过程中,有很多时候,我们需要实现类似于下面这种沉浸式的体验。 一开始接触的时候,似乎大家都会觉这种体验实现起来,会比较困难。...底部有一个控件,随着列表的向上滑动,它退出视角范围,以便于给出更多的空间来展示列表,其实整个沉浸式体验都是为了给列表留出更多的空间来展示。...好,总结起来以上就是我们的问题,也是需要解决的,一个一个解决了,这种需求也就实现了,那么,我们如何去一步一步来解决以上的问题呢?...我这里不作讲解了,但是如果你不了解这个布局的应用,我强烈建议你好好了解一下,才能继续下面走,只是想说明一下,走到这里,你有一个坑需要去填,那就是我们的标题动画可以不是这样的,而且,还是标题还是居中的,注意,这里的实现...同理,加入让你实现一个悬浮在左侧,右侧,滑动隐藏,停止显示的,也都可以参考类似Behavior的方式,减少代码耦合。 总结 最后整个布局是这样子的 <?
Android 沉浸式适配 4.4+ 默认的主题 (/values/styles.xml) android:windowTranslucentStatus">true android:windowTranslucentNavigation..."> android:windowTranslucentStatus">false android:windowTranslucentNavigation...--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色--> android:statusBarColor">@android:color/transparent...android:theme="@style/BaseTheme"
github地址 一个简单易用的导航栏TitleBar,可以轻松实现IOS导航栏的各种效果 整个代码全部集中在TitleBar.java中,所有控件都动态生成,动态布局。...一行代码适配沉浸式 如果你的项目使用了沉浸式,布局时候加上这行代码,TitleBar会自动填充状态栏 titleBar.setImmersive(true);
和尚我最近在调整页面状态栏的效果,主要包括沉浸式状态栏和伪沉浸状态栏(同事唠嗑给定义的玩的)。...前段时间整理过一篇 Android 沉浸式状态栏的多种样式,现在和尚我在稍微的补充一下,都是在日常应用中测试整理的。...就和尚我接触的项目中根据业务不同,不是所有的标题栏都是 Toolbar 标题栏样式,很多是自定义的标题栏样式,为了效果统一,和尚我的解决方案是修改顶部状态栏的颜色为程序的主题色,戏称为伪沉浸式状态栏...> android="http://schemas.android.com/apk/res/android" android:layout_width="...> android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android
本文是用于设配SDK4.4到5.0的沉浸式导航栏适配(4.4下面的实现不了沉浸式),上次说到适配沉浸式状态栏时,为DecorView添加一个View可以是实现,导航栏也同样,但是不是所有手机都有导航栏,...int statusBarHeight = context.getResources().getIdentifier("navigation_bar_height", "dimen", "android...} //上面方法获取不到的话,使用反射资源获取 return getNavigationBarHeightByAndroid(context, "com.android.internal.R
但是直到 Android4.4,我们才能真正意义上的实现沉浸式状态栏。...从 Android4.4 到现在(Android 9),关于沉浸式大概可以分成三个阶段: Android4.4(API 19)- Android 5.0(API 21):这个阶段可以实现沉浸式,但是表现得还不是很好...,从而来实现沉浸式。...通过以上就可以实现 Android 4.4 上的沉浸式状态栏。...这就是 Android 5.0 以上实现沉浸式导航栏的原理。
本文标签:HarmonyOS/ArkUI本文支持的API>=18之所以要实现沉浸式效果,最主要的目的就是提升用户体验,使状态栏的效果和页面的主题保持一致,增加视觉上的体验,试想一下,如果没有沉浸式,在视觉上会显得很是突兀...正因为有了沉浸式,才让开发的应用在视觉上显得是那么的清新,可以说,目前市面上的很多应用,都已经适配了沉浸式,我们可以随便打开一个应用,比如微信,比如支付宝,比如各个购物软件,其顶部的透明化状态栏可以说是随处可见...鸿蒙开发当中,实现一个沉浸式,可以说是十分的简单,目前有两种实现方式,一种是页面内独立设置,也就是安全区域避让,另一种是全局配置。...安全区域避让安全区域避让,主要是通过在页面内给组件设置expandSafeArea属性来实现沉浸式效果,大家一定要知道,所谓的安全区域就是指页面的显示区域,也就是状态栏、导航栏区域之外的区域。...expandSafeArea([SafeAreaType.SYSTEM], [SafeAreaEdge.TOP, SafeAreaEdge.BOTTOM])我们看下实际的运行效果,可以看到,导航栏和状态栏均已实现了沉浸式
4.4 以上要做所谓沉浸式,其实不是真正意义上的沉浸式,只是一种透明状态栏。 而由于 Android API 的不同,需要考虑 4.4、5.0、6.0 前后的不同。...rootView = ((ViewGroup)decorView.findViewById(android.R.id.content)).getChildAt(0); window.addFlags(...还遇到过 setFitsSystemWindows 导致内容布局变化,如果不对每个 Activity 配置一次 android:configChanges="screenSize|screenLayout...view.getPaddingRight(), view.getPaddingBottom()); 项目中遇到一个问题,基类设置了一个默认的状态栏样式,但某些 Activity 要自己单独的样式,又创建了一个对象,结果专门做沉浸的这个类被构造了两遍...Activity 是 SDK 里面的,可以用 ActivityLifecycleCallbacks,在 ActivityLifecycleCallbacks 里可以拿到 Activity 的实例,这里可以做沉浸
Android沉浸式效果(隐藏标题栏) 设置全屏 getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN
好了废话不多说了,沉浸式状态栏现在已经非常普及了,不然请自行脑补一个画面(主题是蓝色的界面搭配白色,后来头顶冒出来一块红色的系统自带状态栏, 那画风。。。。)...沉浸式状态栏如下 : 再来一张 其实沉浸式状态栏不仅仅指的是顶部的状态栏,基于手机的不同,还有底部的手机也可以改成类似的 ,前提是手机得有这种底部的按钮: 如下 效果介绍完了,接下来就是实现了...如果是4.4之前版本的手机的话,是不会产生沉浸式状态栏的效果的, 而且部分手机会已经帮助你实现了,我这里是乐视2 版本是 6.0 已经帮我实现了部分界面的沉浸式; 代码片段 ; /**...* 沉浸式状态栏 * 当系统版本为4.4或者4.4以上时可以使用沉浸式状态栏 */ private void initState() { if (Build.VERSION.SDK_INT...该行是设置虚拟键盘栏的透明效果 注释即为使用默认的效果 } } 然后将这份代码放入你的BaseActivity中去,记得是onCreate方法中: 然后去挨个配置 ,这两行代码写在每一个要使用沉浸式的布局里
和尚前些日子整理了两次小小的沉浸式状态栏的总结:Android 沉浸式状态栏的多种样式 和 Android 沉浸式状态栏以及伪沉浸式状态栏。...今天和尚我再稍稍补充一点,Java/Kotlin 代码中设置 LayerDrawable 方式实现沉浸式状态栏。...LayerDrawable 为图层叠加,对应 xml 中的 layer-list 层次化方式展示 Drawable,和尚我借用这种方式实现与以前一样的含有图片的沉浸式状态栏样式。
鸿蒙当中实现沉浸式效果,可以使用安全区域设置或者应用窗口管理进行实现。...]) 可以发现,安全区域,已经延伸至了状态栏和导航条,实现了沉浸式的效果,当然了,具体的方向可以自己动态设置。...应用窗口管理,有一点好处是,可以让所有的页面统一实现沉浸式的效果,使用window中setWindowLayoutFullScreen方法,主要作用是设置主窗口或子窗口的布局是否为沉浸式布局。...,设置后,就实现了沉浸式效果,而且是所有的页面。...窗口管理中,也是需要注意,当沉浸式设置之后,安全区域的内容,一定要避开导航条和状态栏,和上面的安全区域实现的方式是一样的,这个一定要注意。
View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION// 修改信号栏背景颜色window.statusBarColor = android.graphics.Color.parseColor...("#20FF0000")// 修改导航栏背景颜色window.navigationBarColor = android.graphics.Color.parseColor("#20FF0000")如果不想进行代码侵入太严重就在...View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION // 修改信号栏背景颜色 window.statusBarColor = android.graphics.Color.parseColor...("#20FF0000") // 修改导航栏背景颜色 window.navigationBarColor = android.graphics.Color.parseColor("#20FF0000
他分享了沉浸式媒体的进展与演进路线,展现了可期的多媒体新体验。 文 / 王田 整理 / LiveVideoStack 概览: 什么是Immersive Media?...我们可以称之为沉浸式或浸入式的媒体。作为一种体验,人们对这方面的需求,或者愿望可以追溯到很远。广义上来说,通过音视频的技术,产生身临其境的感觉,就叫做浸入式的媒体。...一个很重要的趋势就是沉浸式的Immersive Media,当然并不是说Immersive是未来唯一的方向,还有其它重要的方向,比如:超高清—8K,或者媒体智能化等方向。...开始是3自由度,360度的,给大家带来一个沉浸式的体验,未来还有向6自由度的转移。后面会具体讲解,3自由度和6自由度的含义。...对于这样的动态3D模型,怎么去实现信号的表示、压缩和传输,可能都会带来很不同的一些技术。
背景 在使用某APP的过程中发现,该APP对PopupWindow的沉浸式支持并不好,在使用PopupWindow的时候,状态栏会变成纯白色,看不到时间信号等等。如下图所示 ?...not focusable (makes navigation ignore us adding the window) 设置Dialog没有焦点,使得状态栏忽略新添加的Window 这样就能可以实现状态栏在...在自己做的Demo中也证实了这一点 解决办法 在PopupWindow/Dialog展示(show)之前,调用setFocusable(false),这样在弹出PopupWindow的时候没有焦点,就不会影响沉浸式状态栏的显示了...遗留问题 因为Android底部有虚拟按键,上网查资料发现都说需要设置Popup的WindowInputMethod,但是发现和预期不一样,会导致虚拟按键的位置有问题,所以,暂时没有解决方案,最后还是通过...View树动态的addView和removeView来实现PopupWindow的效果
下面就来分析一下,APP层的API如何影响SystemUI的显示的,并一步步解开所谓沉浸式与全屏的原理,首先看一下如何更改状态栏颜色。...实际应用中经常将状态栏或者导航栏设置为透明色:即想要沉浸式体验,这个时候背景颜色View就不在被绘制,但是,默认样式下DecorView的内容绘制区域并未扩展到状态栏、或者导航栏下面(TRANSLUCENT...沉浸式全屏 如上图:由于背景透明,所以状态栏与导航栏背景色View都没有被添加,其次,由于设置了View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION...fitSystemWindow不互斥 设置颜色与扩展布局是不互斥的两种操作 fitSystemWindow只会通过padding方式来消费WindowInsets 作者:看书的小蜗牛 原文链接: 全屏、沉浸式...、fitSystemWindow使用及原理分析:全方位控制“沉浸式”的实现 仅供参考,欢迎指正
和尚我最近正在处理客户端顶部沉浸式展示图片,借此整理了一下和尚自己研究测试的沉浸式状态栏。...沉浸式状态栏大家都很熟悉,即 APP 界面图片延伸到状态栏, 应用本身沉浸于状态栏,即顶部不会默认展示系统的黑条。和尚我技术有限,理解不透彻,仅分享一下自己应用测试中可以呈现的几种样式。 ?...> android="http://schemas.android.com/apk/res/android" android:layout_width="...图片作为布局背景沉浸样式 ? 图片作为布局背景样式 ? 图片被拉伸 图片作为布局背景的方式比较简单,方式与公共的相同,只是不需要 Toolbar 而已。...Tips1:还有一种样式与沉浸式展示效果一样,就是折叠布局 CollapsingToolbarLayout 折叠后的效果也是沉浸式状态,可以固定折叠后的状态,但是并不建议这样处理,只是偶然想到而已,