Android沉浸式状态栏

2017-2-23 liuyingcong 安卓开发

在配置文件相应的activity中添加自定义的style,代码:

    <activity
            android:name=".activity.AuthorActivity"
            android:theme="@style/ImageTranslucentTheme">
        </activity>
因为Android4.4以前的版本不支持改变状态栏背景,以及5.0以后有一些区别,所以要定义3个版本的style:

①在values文件夹中的styles中添加代码:


 <!--沉浸式状态栏-->
 <style name="ImageTranslucentTheme" parent="@android:style/Theme.Light.NoTitleBar">
 <!--在Android 4.4之前的版本上运行,直接跟随系统主题-->
  </style>
②在values-v19(没有则新建)文件夹中的styles中添加代码:
   <!--沉浸式状态栏-->
    <style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>
③在values-v21(没有则新建)文件夹中的styles中添加代码:
    <!--沉浸式状态栏-->
    <style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
        <!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
        <item name="android:statusBarColor">@android:color/transparent</item>
    </style>
再设置activity布局的时候Y轴起点就是屏幕最上方了。
状态栏高度是20dp。


网站备案号:京ICP备11043289号-1 北京市公安局网络备案 海1101084571
版权所有 北京育灵童科技发展有限公司 Copyright © 2002-2024 www.elight.cn, All Rights Reserved