CollapsingToolbarLayout 不适用于 NestedScrollView
Posted
技术标签:
【中文标题】CollapsingToolbarLayout 不适用于 NestedScrollView【英文标题】:CollapsingToolbarLayout doesn't work well with NestedScrollView 【发布时间】:2015-09-25 03:11:40 【问题描述】:我做了一个活动,其中图像应使用工具栏折叠,并且只有下面的文本可见。但是当Toolbar被折叠时,Toolbar和NestedScrollView之间会出现很大的差距
<android.support.design.widget.CoordinatorLayout xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/coordinatorLayout"
android:layout_
android:background="@color/white"
android:layout_>
<android.support.design.widget.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_
app:elevation="5dp"
app:layout_collapseMode="pin"
android:fitsSystemWindows="true"
android:layout_>
<android.support.design.widget.CollapsingToolbarLayout
android:layout_
android:layout_
app:toolbarId="@+id/toolbar"
android:id="@+id/collapsing"
android:fitsSystemWindows="true"
app:contentScrim="?attr/colorPrimary"
app:layout_scrollFlags="scroll|exitUntilCollapsed">
<com.noframe.farmisagronom.util.ResizibleImageView
android:id="@+id/image_view"
android:layout_
android:layout_
app:layout_scrollFlags="scroll|enterAlwaysCollapsed"
android:minHeight="100dp"
android:maxHeight="400dp"
android:fitsSystemWindows="true"
app:layout_collapseMode="parallax"
app:layout_collapseParallaxMultiplier="0.5"
android:scaleType="centerCrop"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_
android:layout_
android:popupTheme="@style/ThemeOverlay.AppCompat.Light"
android:minHeight="?attr/actionBarSize"
app:layout_collapseMode="pin"
/>
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.widget.NestedScrollView
android:id="@+id/nesteview"
app:layout_anchorGravity="top"
android:layout_
android:layout_
app:layout_behavior="@string/appbar_scrolling_view_behavior">
.....
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
而且这个活动看起来很不错。
但是当我向上滚动 NestedScrollView 时,这会失控。
工具栏和文本之间的这个小空间让我很紧张。
注意如果NestedScrollView有大文本问题是不会显示出来的,但是如果NestedScrollView+折叠工具栏没有占满手机屏幕,那么它们之间就有空隙了。
【问题讨论】:
【参考方案1】:添加:
android:layout_gravity="fill_vertical"
到为我工作的NestedScrollView
。
【讨论】:
这到底是做什么的? 它强制 NestedScrollView 在 CollapsingToolbar 折叠时垂直填充其容器(CoordinatorLayout)。 奇怪的是 NestedScrollView 没有 layout_gravity 属性,但如果你把它放在任何地方,它不会被拒绝并且它可以工作......但是在这个问题之后,如果里面的视图是滚动的,你会遇到滚动问题可点击。对于这个检查问题:***.com/questions/31136740/… @Davidea NestedScrollView 扩展FrameLayout
扩展 ViewGroup
扩展 View
。所有这些超类都有它们的属性
无法为我工作。虽然我在另一个里面有一个嵌套的 CoordinatorLayout,但具有 BottomSheet 行为。 BottomSheet 包含应用栏。只有在默认情况下打开 BottomSheet 并且在启动应用程序时屏幕处于打开状态时才会出现此问题。如果屏幕被锁定并启动应用程序,则没有问题。以上是关于CollapsingToolbarLayout 不适用于 NestedScrollView的主要内容,如果未能解决你的问题,请参考以下文章
膨胀类 CollapsingToolbarLayout 时出错
膨胀 CollapsingToolbarLayout 时出错
如何更改 CollapsingToolbarLayout 字体和大小?
以编程方式折叠或展开 CollapsingToolbarLayout