关于用res中values中styles.xml文件写出沉浸式状态栏

来源:互联网 发布:解压缩软件破解版 编辑:程序博客网 时间:2024/06/03 17:07

一,res文件

res文件目录下,values中styles.xml文件中的代码:

<style name="ImageTranslucentTheme" parent="AppTheme">

        <!--在Android 4.4之前的版本上运行,直接跟随系统主题-->
    </style>

    <style name="ColorTranslucentTheme" parent="AppTheme">
        <!--在Android 4.4之前的版本上运行,直接跟随系统主题-->

    </style>


res文件目录下,新建values-v19中styles.xml文件中的代码:
<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>

    <style name="ColorTranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">true</item>
        <item name="android:windowTranslucentNavigation">true</item>
    </style>

res文件目录下,新建values-v21中styles.xml文件中的代码:
<style name="ImageTranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="android:windowTranslucentStatus">false</item>
        <!--内置按键的手机,不改变按键的背景,如华为-->
    <item name="android:windowTranslucentNavigation">false</item>
    <!--Android 5.x开始需要把颜色设置透明,否则导航栏会呈现系统默认的浅灰色-->
    <item name="android:statusBarColor">@android:color/transparent</item>
    </style>

    <style name="ColorTranslucentTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="android:windowTranslucentStatus">false</item>
        <!--内置按键的手机,不改变按键的背景,如华为-->
        <item name="android:windowTranslucentNavigation">false</item>
        <item name="android:statusBarColor">@color/green</item>

    </style>

二,在清单文件的activity节点中写入

android:theme="@style/ColorTranslucentTheme"(颜色的控制)或者
android:theme="@style/ImageTranslucentTheme"(背景图片的控制)三,如果想将布局不占据状态栏,则在显示的布局最外层写入
android:fitsSystemWindows="true"

(可以不用values-21)
(在显示的布局最外层写入: android:background="")







阅读全文
0 0
原创粉丝点击