内容简介:整理自只是一些笔记。本文用“: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:windowTranslucentStatus
和 android:windowTranslucentNavigation
从KitKat引入。让:astonished:把透明、渐隐。应用内容在它们后面显示。它们会自动应用WTFs。渐隐不能改变颜色。
android:windowDrawsSystemBarBackgrounds
从Lollipop引入。默认已开启。
把:astonished:放到了应用内容的Window中,好让我们可以 activity.window.setStatusColor
。
和 android:windowTranslucent
有冲突。后者会覆盖前者设置的:astonished:的颜色,且会关闭 android:windowDrawsSystemBarBackgrounds
,这会导致:astonished:不再是应用内容的一部分,从而可能导致涉及到:astonished:SharedElement动画失效。
因此为了得到半透明的:astonished:颜色,可以用一个半透明的 android:statusBarColor
或 android: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元
在不远的未来,日常物品将能够迅速理解我们的需求,改善我们的生活,并随处可见。为了实现这一预期,我们需要能够发现用户使用产品的场景,找到用户高频刚需痛点的产品设计者。 站在下一个转型发展的悬崖上,我们看到技术将更具人性。随着物联网的发展,我们习以为常的数百件日常物品:汽车、钱包、手表、雨伞甚至垃圾桶,都将回应我们的需求,了解我们,学习为我们思考。最先出现的智能硬件为什么是智能手环、无人驾驶汽车......一起来看看 《极致:互联网时代的产品设计》 这本书的介绍吧!