安卓开发小细节-透明状态栏,半透明灰色导航栏实现

312 阅读1分钟

源码注释没有说明依赖关系,被坑了好久

  • 预期效果如下

232009be3d930412eba56c3a622ead78.jpg

  • 完整主题代码,及源码内参数注释 如下
<style name="Base.Theme.Jetpack" parent="Theme.AppCompat.NoActionBar">
    <!--whether this window requests a translucent status bar-->
    <!--window是否需要透明的状态栏,不需要,如果这里设置true则是带灰色阴影的透明,并不是预期的完全透明,所以设置false,手动设置状态栏颜色-->
    <item name="android:windowTranslucentStatus">false</item>

    <!--The color for the status bar-->
    <!--手动设置状态栏颜色-->
    <item name="android:statusBarColor">@android:color/transparent</item>

    <!-- whether this window requests a translucent navigation bar.-->
    <!-- 是否设置导航栏为透明色,只有这里设置透明色,状态栏的透明才能生效-->
    <item name="android:windowTranslucentNavigation">true</item>
</style>