美文网首页week.ioAndroid知识
Android如何实现5.0以上图片沉浸式状态栏

Android如何实现5.0以上图片沉浸式状态栏

作者: 小呀么小黄鸡 | 来源:发表于2016-12-15 17:10 被阅读408次

    需要满足的条件

    1. (未验证是否为必要条件) layout最外层用
    <android.support.design.widget.CoordinatorLayout>
    
    1. 背景图用图片控件(如ImageView)而不能直接对其他ViewGroup设置background(如LinearLayout)
    2. CoordinatorLayout和ImageView需要包含android:fitsSystemWindows="true"
    3. 需要用android:background设置资源(曾经被坑过)
    4. 该activity的style(v21)中需要添加
    <item name="android:statusBarColor">@android:color/transparent </item>
    <item name="windowNoTitle">true</item>
    

    如parent是"ActionBar"结尾的还需要添加

    <item name="windowActionBar">false</item>
    

    实现的效果

    简易的实现
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/cl"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:context="top.wuhaojie.week.views.TestActivity">
    
        <ImageView
            android:layout_width="match_parent"
            android:layout_height="300dp"
            android:background="@mipmap/ic_test"
            android:fitsSystemWindows="true" />
    </android.support.design.widget.CoordinatorLayout>
    
    另一种实现
    <?xml version="1.0" encoding="utf-8"?>
    <android.support.design.widget.CoordinatorLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        android:id="@+id/cl"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:context="top.wuhaojie.week.views.TestActivity">
    
        <android.support.design.widget.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fitsSystemWindows="true"
            android:theme="@style/AppTheme.AppBarOverlay">
    
            <ImageView
                android:layout_width="200dp"
                android:layout_height="200dp"
                android:layout_gravity="center_horizontal"
                android:background="@mipmap/ic_test"
                android:fitsSystemWindows="true" />
        </android.support.design.widget.AppBarLayout>
    </android.support.design.widget.CoordinatorLayout>
    

    相关文章

      网友评论

        本文标题:Android如何实现5.0以上图片沉浸式状态栏

        本文链接:https://www.haomeiwen.com/subject/dgdgmttx.html