在 CollapsingToolbarLayout 中设置 minHeight 没有任何效果
Posted
技术标签:
【中文标题】在 CollapsingToolbarLayout 中设置 minHeight 没有任何效果【英文标题】:setting minHeight in CollapsingToolbarLayout not having any effect 【发布时间】:2016-09-30 02:46:54 【问题描述】:我目前使用 CollapsingToolbarLayout 遇到的主要问题是,无论我尝试什么,我的 Toolbar 的 minHeight 属性都没有任何效果。
我想要的结果是这样的: (具有一定展开高度和一定折叠高度(示例中为 180dp)的 CollapsingToolbarLayout,而标题要么折叠,要么停留在顶部)
但无论我做什么,标题有时都在中心,不会完全折叠或 minHeight 无论如何都会被忽略。我尝试为 AppBarLayout、CollapsingToolbarLayout、工具栏本身、任何内容等设置 minHeight,也使用了在网络上找到的不同方法,但没有成功。
这是基本的xml:
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_
android:layout_
android:fitsSystemWindows="true"
android:minHeight="180dp">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_
android:layout_
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_
android:layout_
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_
android:layout_
android:minHeight="180dp"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
我希望这足以解释我的问题。 任何帮助表示赞赏,谢谢!
【问题讨论】:
【参考方案1】:您可以将高度设置为180dp
而不是使用minHeight,然后在工具栏中添加一个TextView作为标题。
【讨论】:
通过添加自定义 TextView 作为标题进行了一些调整。无论如何,我无法让它与扩展或折叠工具栏一起使用......180dp
是从哪里来的?【参考方案2】:
这个很简单。只需将Toolbar
的下边距设置为您希望在折叠版本中保留的任何空间。
这背后的原因很简单。 CollapsingToolbarLayout
继承自 FrameLayout
,后者将图像堆叠在一起。在考虑折叠边界时,唯一需要考虑的是工具栏高度及其上/下边距。
【讨论】:
工作就像一个魅力,非常感谢您花费额外的时间来解释答案!【参考方案3】:只需将 Toolbar collapseMode 设置为“pin”模式,并根据您的要求大小设置高度
<androidx.appcompat.widget.Toolbar
android:id="@+id/toolbar"
android:layout_
android:layout_
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/>
【讨论】:
以上是关于在 CollapsingToolbarLayout 中设置 minHeight 没有任何效果的主要内容,如果未能解决你的问题,请参考以下文章
在 CollapsingToolbarLayout 中设置 minHeight 没有任何效果
设置 CollapsingToolbarLayout 的起始高度
展开状态下没有阴影的 CollapsingToolbarLayout
CollapsingToolbarLayout 并在滚动时隐藏工具栏