内容简介:整理自只是一些笔记。本文用“: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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
圈圈教你玩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》 这本书的介绍吧!