我不确定该问题的标题是什么,因为我不确定是什么引起了问题。
我正在尝试创建以下布局:
<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放在片段上方时,这是一个偶然的结果,我不确定为什么会改变任何东西,但是它会改变。
所以基本上我想要的是第二张图片,除了空白处。有办法可以实现吗?
PS。状态栏必须是半透明的,因为AppBar的颜色是动态的,并且状态栏的颜色需要随之改变。
答案 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>