Android在早期的系统版本中,状态栏是不支持修改的,所以打开任何应用程序会发现顶部的状态栏始终是黑条。在Android 4.4(KitKat)之后,系统的状态栏开始支持开发者定制和修改,包括显示或隐藏,更改颜色等(嗯,一定是抄袭ios的...),又在Android 5.0(LOLLIPOP)进行了改进。这样一来,我们就可以让系统状态栏跟随应用程序改变了。
下面总结了市面上几种常见的StatusBar显示效果。
一.状态栏完全透明
应用程序的某些页面在状态栏完全透明,且内容区延伸到状态栏时,视觉体验会更佳。这种显示效果在各种应用的启动页中较为常见,因为启动页的背景是一张大图,全屏显示效果更好。另外在如墨迹天气中这种效果也在多个页面中被使用到。
以中华万年历的天气页面为例,效果如下所示:
接下来进入代码实现。
添加如下styles.xml文件。
values/styles.xml
values-v19/styles.xml
values-v21/styles.xml
下面总结了市面上几种常见的StatusBar显示效果。
一.状态栏完全透明
应用程序的某些页面在状态栏完全透明,且内容区延伸到状态栏时,视觉体验会更佳。这种显示效果在各种应用的启动页中较为常见,因为启动页的背景是一张大图,全屏显示效果更好。另外在如墨迹天气中这种效果也在多个页面中被使用到。
以中华万年历的天气页面为例,效果如下所示:
接下来进入代码实现。
添加如下styles.xml文件。
values/styles.xml
<resources>
<!-- Base application theme. -->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
<!-- Customize your theme here. -->
</style>
<style name="AppTheme" parent="AppBaseTheme">
</style>
</resources>
values-v19/styles.xml
<resources>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:windowTranslucentStatus">true</item>
</style>
</resources>
values-v21/styles.xml
&