CoordinatorLayout,带有半透明状态栏的AppBarLayout

时间:2018-10-11 06:15:51

标签: android android-support-library

我不确定该问题的标题是什么,因为我不确定是什么引起了问题。

我正在尝试创建以下布局:

<androidx.drawerlayout.widget.DrawerLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.coordinatorlayout.widget.CoordinatorLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <fragment
            android:name="androidx.navigation.fragment.NavHostFragment"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            app:defaultNavHost="true"
            app:navGraph="@navigation/home_nav" />

        <com.google.android.material.appbar.AppBarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:fitsSystemWindows="true">

            <com.google.android.material.appbar.CollapsingToolbarLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:fitsSystemWindows="true">

                <androidx.appcompat.widget.Toolbar.../>

            </com.google.android.material.appbar.CollapsingToolbarLayout>

        </com.google.android.material.appbar.AppBarLayout>

    </androidx.coordinatorlayout.widget.CoordinatorLayout>

    <com.google.android.material.navigation.NavigationView.../>

</androidx.drawerlayout.widget.DrawerLayout>

以下是描述问题的2张图片:

第二张图片几乎是我需要的结果,唯一的问题是应用栏和我不需要的内容之间存在间隙。

在第一个图像中,间隙消失了,但是adjustResize和fitSystemWindows不再起作用了,当我尝试将AppBayLayout放在片段上方时,这是一个偶然的结果,我不确定为什么会改变任何东西,但是它会改变。

enter image description here

所以基本上我想要的是第二张图片,除了空白处。有办法可以实现吗?

PS。状态栏必须是半透明的,因为AppBar的颜色是动态的,并且状态栏的颜色需要随之改变。

1 个答案:

答案 0 :(得分:0)

我之前遇到过此问题,它是由工具栏或CollapsingToolbarLayout中的错误高度配置引起的。 对于动态的应用栏颜色,您可以为其设置不同的样式并对其进行更改,也可以向其添加子项,然后更改其背景颜色。

编辑:根据评论,我共享我的应用程序的xml。它是外观类似于Google Play应用的视图的一部分,为了更改颜色,我更改了RelativeLayout的颜色

<android.support.design.widget.CoordinatorLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        xmlns:tools="http://schemas.android.com/tools"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fitsSystemWindows="true"
        tools:context="hamrahmehraban.bpfanavar.ir.hamrahmehraban.Screens.A_MainMenu">

    <android.support.design.widget.AppBarLayout
            android:layout_height="wrap_content"
            android:layout_width="match_parent"
            android:id="@+id/appbar"
            android:fitsSystemWindows="true"
            android:theme="@style/AppTheme.AppBarOverlay">


        <android.support.v7.widget.Toolbar
                android:id="@+id/toolbar"
                android:layout_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                app:layout_collapseMode="pin"
                android:contentInsetLeft="0dp"
                android:contentInsetStart="0dp"
                app:contentInsetLeft="0dp"
                app:contentInsetStart="0dp"
                android:contentInsetRight="0dp"
                android:contentInsetEnd="0dp"
                app:contentInsetRight="0dp"
                app:contentInsetEnd="0dp"
                app:layout_scrollFlags="scroll|enterAlways"
                app:popupTheme="@style/ThemeOverlay.AppCompat.Light">

            <RelativeLayout android:layout_width="match_parent" android:layout_height="?attr/actionBarSize"
                            android:paddingRight="@dimen/searchview_padding"
                            android:paddingBottom="4dp"
                            android:paddingTop="8dp"
                            android:paddingLeft="@dimen/searchview_padding">

                <EditText android:layout_width="match_parent"
                          android:background="@drawable/search_bg"
                          android:textColorHint="@color/album_title"
                          android:textSize="@dimen/album_title"
                          android:textColor="@color/colorTextDark"
                          android:gravity="center"
                          android:selectAllOnFocus="true"
                          android:id="@+id/ET_Search"
                          android:hint="@string/Search"
                          android:layout_height="match_parent"/>

                <LinearLayout android:layout_width="match_parent"
                              android:orientation="horizontal"
                              android:gravity="end"
                              android:layout_height="?attr/actionBarSize">

                    <FrameLayout
                            android:id="@+id/search_button"
                            android:layout_width="70dp"
                            android:layout_height="match_parent"
                            android:clickable="true">

                        <ImageView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:padding="10dp" android:id="@+id/IV_SearchBtn"
                                android:layout_gravity="center_horizontal|center_vertical"
                                android:src="@drawable/ic_action_voice_search"/>


                    </FrameLayout>
                </LinearLayout>

                <LinearLayout android:layout_width="match_parent"
                              android:orientation="horizontal"
                              android:gravity="start"
                              android:layout_height="?attr/actionBarSize">


                    <FrameLayout
                            android:id="@+id/drawer_button"
                            android:layout_width="70dp"
                            android:layout_height="match_parent"
                            android:layout_alignParentRight="true"
                            android:clickable="true">

                        <ImageView
                                android:layout_width="wrap_content"
                                android:layout_height="wrap_content"
                                android:padding="10dp"
                                android:layout_gravity="center_horizontal|center_vertical"
                                android:src="@drawable/ic_nav_toogle"/>


                    </FrameLayout>

                </LinearLayout>

            </RelativeLayout>

        </android.support.v7.widget.Toolbar>

        <android.support.design.widget.TabLayout
                android:layout_height="wrap_content"
                android:layout_width="match_parent"
                android:id="@+id/tabs"
                app:layout_scrollFlags="scroll|enterAlways"
                app:tabMaxWidth="0dp"
                app:tabGravity="fill"
                app:tabMode="fixed" ></android.support.design.widget.TabLayout>

    </android.support.design.widget.AppBarLayout>

    <include layout="@layout/content_main"/>

    <android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|end"
            android:layout_margin="@dimen/fab_margin"
            android:src="@android:drawable/ic_dialog_email"/>

</android.support.design.widget.CoordinatorLayout>