Android System UI

栏目: IOS · Android · 发布时间: 6年前

内容简介:整理自只是一些笔记。本文用“:astonished:”代表“状态栏与导航栏”这七个字。

整理自 Becoming a master window fitter :wrench:) ,解释那复杂的Android状态栏与导航栏和应用界面的关系。

只是一些笔记。

本文用“:astonished:”代表“状态栏与导航栏”这七个字。

setSystemUiVisibility )

SYSTEM_UI_FLAG_

  • VISIBLE:让:astonished:回来,重新显示
  • LOW_PROFILE:让:astonished:暗淡
  • HIDE_NAVIGATION
  • FULLSCREEN

SYSTEM_UI_FLAG_

  • IMMERSIVE:让:astonished:消失,但一有操作就会回来。
  • IMMERSIVE_STICKY:和上面一个一起用,但有操作时,让:astonished:悬浮出现,稍等后再消失。

SYSTEM_UI_FLAG_

  • LIGHT_STATUS_BAR
  • LIGHT_NAVIGATION_BAR

让:astonished:浅底深色。默认是深底浅色。

SYSTEM_UI_FLAG_

  • LAYOUT_STABLE
  • LAYOUT_HIDE_NAVIGATION
  • LAYOUT_FULLSCREEN

跟应用内容的显示有关系。

让应用内容在:astonished:后面显示:LAYOUT_STABLE or LAYOUT_FULLSCREEN or LAYOUT_HIDE_NAVIGATION,后文用WTFs代替。

android:windowTranslucentStatusandroid:windowTranslucentNavigation

从KitKat引入。让:astonished:把透明、渐隐。应用内容在它们后面显示。它们会自动应用WTFs。渐隐不能改变颜色。

android:windowDrawsSystemBarBackgrounds

从Lollipop引入。默认已开启。

把:astonished:放到了应用内容的Window中,好让我们可以 activity.window.setStatusColor

android:windowTranslucent 有冲突。后者会覆盖前者设置的:astonished:的颜色,且会关闭 android:windowDrawsSystemBarBackgrounds ,这会导致:astonished:不再是应用内容的一部分,从而可能导致涉及到:astonished:SharedElement动画失效。

因此为了得到半透明的:astonished:颜色,可以用一个半透明的 android:statusBarColorandroid:navigationBarColor ,而避免使用 android:windowTranslucent

android:fitSystemWindows="true"

让这个View自己使用Padding填充周围,让它的内容不和会:astonished:重叠。几乎只有MaterialCompoents(CoordinatorLayout、DrawerLayout、CollapsingToolbarLayout等)才对这个属性有反应。

在和WTFs共同使用后,应用内容就可以既在:astonished:后显示,也不和:astonished:重叠。

DrawerLayout 设置 android:fitSystemWindows="true" 后,会自动设置WTFs。

可以给子View设置,选择是否让子View出现在:astonished:后。

WindowInsets

正确的使用:astonished:大小的方式。不许使用resources或hard-coded尺寸,得用这个。

view.setOnApplyWindowInsetsListener { _, insets ->
    return insets.comsumeSystemWindowInsets
}

Views

CoordinatorLayout

  • app:statusBarBackground

CollapsingToolbarLayout

app:statusBarScrim
app:contentScrim

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

圈圈教你玩USB

圈圈教你玩USB

刘荣 / 2013-4 / 59.00元

通过U盘、USB鼠标、15SB键盘、USBMIDI键盘、USB转串口、自定义的USBHID设备和自定义的USB设备等几个具体的USB例子,一步步讲解USB设备及驱动程序和应用程序开发的详细过程和步骤。第9和10章介绍USBWDM驱动开发,并给出一个简单的USB驱动和USB上层过滤驱动的实例。第2版中新增4章内容,包括USB触摸屏设备、移植到AVR单片机和ARM微控制器上以及更多的USB设备的实现。......一起来看看 《圈圈教你玩USB》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具