1.要求状态栏透明,我们的内容布局延伸到系统状态栏,就是人们口中说的沉浸式状态栏:Android 5.0 及其以后版本:设置属性 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 使得我们的内容布局可以延伸到系统状态栏,然后直接使用方法 setStatusBarColor() 把系统状态栏设置成透明就好了。Android 4.4 ~ Android 5.0 :添加了属性 ...
(1) Android4.4(API 19) - Android 5.0(API 21): 这个阶段可以实现沉浸式,但是表现得还不是很好,实现方式为: 通过FLAGTRANSLUCENTSTATUS设置状态栏为透明并且为全屏模式,然后通过添加一个与StatusBar 一样大小的View,将View 的 background 设置为我们想要的颜色,从而来实现沉浸式。 (2) Android 5.0(API 21)以...
Android4.4(API 19) - Android 5.0(API 21):这个阶段可以实现沉浸式,但是表现得还不是很好,实现方式为: 通过FLAG_TRANSLUCENT_STATUS设置状态栏为透明并且为全屏模式,然后通过添加一个与StatusBar 一样大小的View,将View 的 background 设置为我们想要的颜色,从而来实现沉浸式。 Android 5.0(API 21)以上版本:在An...
在这里可以看到16-18行就是赋值的地方,同时也看到了这里使用了View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR常量。 再跟进isLight()方法: privatebooleanisLight(intvis,intbarMode,intflag){booleanisTransparentBar=(barMode==MODE_TRANSPARENT||barMode==MODE_LIGHTS_OUT_TRANSPARENT);booleanlight=(vis&flag)!=0;return...
自Android 5.0 版本,Android 带来了沉浸式系统 bar(状态栏和导航栏),Android 的视觉效果进一步提高,各大 app 厂商也在大多数场景上使用沉浸式效果。6.0开始提供了View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR标志位,将状态栏设置为浅色模式, 清除掉这个标志, 可以恢复为深色模式. ...
这个问题在android6.0可以加个属性SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 为setSystemUiVisibility(int)方法添加的Flag,请求status bar 绘制模式,它可以兼容亮色背景的status bar 。要在设置了FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS flag ,同时清除了FLAG_TRANSLUCENT_STATUS flag 才会生效。
* {@link android.R.style#Theme_DeviceDefault_Light_NoActionBar_TranslucentDecor}. * * When this flag is enabled for a window, it automatically sets * the system UI visibility flags {@link View#SYSTEM_UI_FLAG_LAYOUT_STABLE} and * {@link ...
View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR:Android的状态栏的字体颜色默认为白色,只有Android6.0以后才提供了官方的API选择黑色字体 这样一步就可以实现沉浸式状态栏的效果了。 当然我们也可以在资源文件中实现这个效果: 在res文件下新建一个目录(Directory)名为:values-v21 在该目录下 创建styles.xml文件 ...
Flag for #setSystemUiVisibility(int): Requests the status bar to draw in a mode that is compatible with light status bar backgrounds. C# 复制 [Android.Runtime.Register("SYSTEM_UI_FLAG_LIGHT_STATUS_BAR", ApiSince=23)] public const Android.Views.SystemUiFlags SystemUiFlagLightStatusBar = ...
* WindowManager.LayoutParams.FLAG_FULLSCREEN 效果一致. 这个修饰符可以覆盖掉ActionBar. 隐藏状态栏与导航栏. 效果如下: 2.png 一旦用户触摸状态栏,该标志也会取消,需要在重新设置,采用1里面的方式设置即可.(这样在代码中设置,优先级高) 3 SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN ...