Android System UI

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

内容简介:整理自只是一些笔记。本文用“: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

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

查看所有标签

猜你喜欢:

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

极致:互联网时代的产品设计

极致:互联网时代的产品设计

戴维•罗斯 / 中信出版集团 / 2016-6 / 49.00元

在不远的未来,日常物品将能够迅速理解我们的需求,改善我们的生活,并随处可见。为了实现这一预期,我们需要能够发现用户使用产品的场景,找到用户高频刚需痛点的产品设计者。 站在下一个转型发展的悬崖上,我们看到技术将更具人性。随着物联网的发展,我们习以为常的数百件日常物品:汽车、钱包、手表、雨伞甚至垃圾桶,都将回应我们的需求,了解我们,学习为我们思考。最先出现的智能硬件为什么是智能手环、无人驾驶汽车......一起来看看 《极致:互联网时代的产品设计》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具