我目前使用CollapsingToolbarLayout遇到的主要问题是,无论我尝试什么,我工具栏的minHeight属性都没有任何效果。
我想要的结果是: (CollapsingToolbarLayout具有一定的扩展高度和一定的折叠高度(在示例中为180dp),而标题要么折叠要么停留在顶部)
但无论我做什么,标题有时都在中心,不会完全崩溃或无论如何都会忽略minHeight。我试图为AppBarLayout,CollapsingToolbarLayout,工具栏本身,任何内容等设置minHeight,也可以使用网络上找到的不同方法,但没有运气。
这是基本的xml:
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
android:minHeight="180dp">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:fitsSystemWindows="true"
app:contentScrim="@android:color/transparent"
app:expandedTitleGravity="bottom"
app:expandedTitleTextAppearance="@style/TextAppearence.App.ToolbarTitle"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:statusBarScrim="@android:color/transparent">
<com.xxxxxx.custom.Banner
android:id="@+id/parallax_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:adjustViewBounds="true"
android:fitsSystemWindows="true"
android:scaleType="centerCrop"
android:src="@drawable/xxxxxxxx"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.6"
app:layout_scrollFlags="scroll" />
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="180dp"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
我希望这足以解释我的问题。 感谢任何帮助,谢谢!
答案 0 :(得分:10)
这个很容易。只需将Toolbar
的下边距设置为您要在折叠版本中保留的任何空间。
这背后的原因很简单。 CollapsingToolbarLayout
继承自FrameLayout
,它将图像堆叠在一起。考虑折叠边界时,唯一需要考虑的是工具栏高度及其上/下边距。
答案 1 :(得分:2)
您可以将高度设置为180dp
,而不是使用minHeight,然后将TextView添加到工具栏中作为标题。
答案 2 :(得分:0)
只需将工具栏崩溃模式设置为“固定”模式,并将高度设置为所需大小
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="100dp"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>