关于Android 中的各种 Bar 和“透明状态栏”的一些知识
发布网友
发布时间:2024-10-22 23:56
我来回答
共1个回答
热心网友
时间:2024-11-05 10:39
本文主要讲解关于Android中沉浸式状态栏、全屏模式与状态栏、ActionBar、ToolBar之间的区别与使用方法,旨在帮助读者理解如何适配Android状态栏。
请注意,状态栏与这些所谓的“Bar”在概念上完全不同。状态栏,即status bar,是Android设备顶部显示时间、通知等信息的区域。在Android设计中,早期注重功能性,TitleBar(标题栏)仅仅用于显示页面标题。随着Android 3.0的发布,引入了注重美感的Holo样式,此时TitleBar被ActionBar取代,功能扩展至更多方面。
在Android 3.0之前,TitleBar仅用于显示页面标题。而在Android 3.0之后的API 11版本,为了提升美观性,引入了具有更多功能的ActionBar。简而言之,ActionBar在本质上与TitleBar类似,它们均不是传统的控件形式,而是嵌套在DecorView中,可通过window.setFeatureInt方法进行功能和样式的修改。
随着Android 5.0的推出,ToolBar被引入,成为一个控件,为开发者提供了更多的灵活性。在Android 4.1及以上的版本中,ActionBar是标准配置,但其使用仅限于4.1以上。在Android 4.4之前,状态栏始终为黑色,而从4.4开始,引入了windowTranslucentStatus特性,使状态栏颜色可调,这种现象被国内开发者称为“沉浸式状态栏”,实际上这一说法并不准确。
所谓的“沉浸式状态栏”实际上是状态栏透明模式,即内容UI全屏,状态栏透明。在Android 4.4中,通过windowTranslucentStatus可以将状态栏颜色调整为其他颜色,以适应不同的应用需求。然而,在谷歌官方文档中,并未提及“沉浸式状态栏”这一概念,仅提及了全屏模式和状态栏颜色调整。
在实现透明状态栏模式时,可以采用以下步骤:首先设置内容布局全屏,使内容覆盖顶部状态栏;接着将状态栏设为透明;最后,应用属性以确保布局全屏显示。需要注意的是,状态栏颜色的修改在Android 5.0后支持,而在Android 4.4之前则不允许。
为了适应全屏模式,开发者应考虑使用页面布局,并通过DecorView来获取根布局,进而控制状态栏显示与布局的全屏扩展。在Android 6.0中,还支持修改状态栏文字颜色。
通过本文内容,您将对Android中状态栏、ActionBar、ToolBar的使用以及如何适配状态栏有更深入的理解。如需进一步学习,可参考相关文章或访问个人公众号获取更多资源。