CollapsingToolbarLayout对NestedScrollView无效 [英] CollapsingToolbarLayout doesn't work well with NestedScrollView

查看:562
本文介绍了CollapsingToolbarLayout对NestedScrollView无效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我做了一个活动,其中图像应该用工具栏折叠,只有下面的文本才可见。但是当工具栏折叠时,工具栏和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_width =match_parent
android:background =@ color / white
android:layout_height =match_parent>

< android.support.design.widget.AppBarLayout
android:id =@ + id / appBarLayout
android:layout_width =match_parent
app :elevation =5dp
app:layout_collapseMode =pin
android:fitsSystemWindows =true
android:layout_height =wrap_content>

< android.support.design.widget.CollapsingToolbarLayout
android:layout_width =match_parent
android:layout_height =wrap_content
app:toolbarId = @ + id / toolbar
android:id =@ + id / collapsing
android:fitsSystemWindows =true
app:contentScrim =?attr / colorPrimary
应用程式:layout_scrollFlags = 滚动| exitUntilCollapsed >

< com.noframe.farmisagronom.util.ResizibleImageView
android:id =@ + id / image_view
android:layout_width =match_parent
android :layout_height =wrap_content
app:layout_scrollFlags =scroll | enterAlwaysCollapsed
android:minHeight =100dp
android:maxHeight =400dp
android:fitsSystemWindows = true
应用程序:layout_collapseMode =视差
应用程序:layout_collapseParallaxMultiplier =0.5
android:scaleType =centerCrop/>

< android.support.v7.widget.Toolbar
android:id =@ + id / toolbar
android:layout_width =match_parent
android :layout_height =?attr / actionBarSize
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_width = match_parent
android:layout_height =match_parent
app:layout_behavior =@ string / appbar_scrolling_view_behavior>
.....
< /android.support.v4.widget.NestedScrollView>
< /android.support.design.widget.CoordinatorLayout>

这个活动看起来真的很好。



但是当我向上滚动NestedScrollView时,它失去控制。



工具栏和文字之间的空间很小。请注意,如果NestedScrollView中的大文本问题不会显示,但是如果NestedScrollView +折叠的工具栏不占用所有手机屏幕,那么

解决方案

添加:

  android:layout_gravity =fill_vertical

NestedScrollView为我工作。


I made an activity where image should collapse with toolbar and only text below would be visible. But When Toolbar being collapsed, there shows up a large gap between Toolbar and 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_width="match_parent"
    android:background="@color/white"
    android:layout_height="match_parent">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        app:elevation="5dp"
        app:layout_collapseMode="pin"
        android:fitsSystemWindows="true"
        android:layout_height="wrap_content">

        <android.support.design.widget.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            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_width="match_parent"
                android:layout_height="wrap_content"
                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_width="match_parent"
                android:layout_height="?attr/actionBarSize"
                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_width="match_parent"
        android:layout_height="match_parent"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
         .....
    </android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>

And this activity looks really good.

But when i scroll up the NestedScrollView this goes out of control.

This little space between toolbar and text is getting on my nerves.

note that if there is large text in NestedScrollView problem won't show up, but if NestedScrollView + collapsed tool bar doesn't take all phone screen, then there is a gap between them.

解决方案

Adding:

android:layout_gravity="fill_vertical"

to the NestedScrollView worked for me.

这篇关于CollapsingToolbarLayout对NestedScrollView无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆