Android 折叠工具栏布局图像视图不可滚动

Android 折叠工具栏布局图像视图不可滚动,android,android-support-library,android-scrollview,android-design-library,android-collapsingtoolbarlayout,Android,Android Support Library,Android Scrollview,Android Design Library,Android Collapsingtoolbarlayout,使用是否可以使标题ImageView可滚动 <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="@dimen/detail_backdrop_height" android:theme="@style/ThemeOverlay.AppCompat.Dark.

使用是否可以使标题
ImageView
可滚动

<android.support.design.widget.AppBarLayout
    android:id="@+id/appbar"
    android:layout_width="match_parent"
    android:layout_height="@dimen/detail_backdrop_height"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
    android:fitsSystemWindows="true">

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/collapsing_toolbar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        android:fitsSystemWindows="true"
        app:contentScrim="?attr/colorPrimary"
        app:expandedTitleMarginStart="48dp"
        app:expandedTitleMarginEnd="64dp">

        <ImageView
            android:id="@+id/backdrop"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:scaleType="centerCrop"
            android:fitsSystemWindows="true"
            app:layout_scrollFlags="scroll" 
            app:layout_collapseMode="parallax" />
            ...
    </android.support.design.widget.CollapsingToolbarLayout>

<android.support.v4.widget.NestedScrollView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fillViewport="true"
    app:layout_behavior="@string/appbar_scrolling_view_behavior">
    ....

...
....
注意我已经将
android:fillViewport=“true”
添加到
NestedScrollView
中,还将添加到
app:layout\u scrollFlags=“scroll”

ImageView
但是当尝试从
ImageView
滚动时,什么也没有发生。

好的,我在bug报告中做了一些研究,这是
设计支持库中已知的bug

节选 我已经查看了支持
CoordinatorLayout
/
AppBarLayout
/行为
类等的实现。
AppBarLayout
默认使用
AppBarLayout.Behavior
中定义的行为。这扩展了
ViewOffsetBehavior
,反过来又扩展了
行为。基本的
Behavior
类具有方法
onInterceptTouchEvent()
onTouchEvent()
,这两个方法都返回false(表示“我们不想处理触摸事件”)。这些方法不会被
ViewOffsetBehavior
AppBarLayout.Behavior
覆盖,这意味着触摸未经处理-这就是它什么也不做的原因

第三方开发人员的一个可能的解决方法是扩展
AppBarLayout.Behavior
并实现
onInterceptTouchEvent()
onTouchEvent()
并相应地操作应用程序栏

视频 这些显示了当前和预期的行为。这些也来自bug报告


我通过将imageView嵌入NestedScrollView找到了一个解决方法:

  <android.support.design.widget.AppBarLayout
    android:layout_height="wrap_content"
    android:id="@+id/appbar"
    android:background="@color/transparent"
    android:layout_width="match_parent">
    <android.support.design.widget.CollapsingToolbarLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@color/transparent"
        app:toolbarId="@+id/toolbar"
        app:layout_scrollFlags="scroll|exitUntilCollapsed">
        <android.support.v4.widget.NestedScrollView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_collapseMode="parallax"
            app:layout_scrollFlags="scroll"
             app:layout_behavior="@string/appbar_scrolling_view_behavior">
            <ImageView
                tools:ignore="UnusedAttribute"
                tools:src="@drawable/placeholder"
                android:id="@+id/imageView"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:adjustViewBounds="true"
                android:scaleType="centerCrop"
                android:minHeight="200dp"/>
        </android.support.v4.widget.NestedScrollView>
        <android.support.v7.widget.Toolbar
            android:layout_height="?attr/actionBarSize"
            android:id="@+id/toolbar"
            android:elevation="0dp"
            android:layout_width="match_parent"
            app:layout_collapseMode="pin"/>
    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>


但我还没有在prod中测试它,因为我遇到了另一个问题,即当recyclerview到达顶部时(如错误报告中所解释的),会中断“向上”手势。

通过在支持库23.1.1上测试,这个问题似乎已经得到了解决

compile 'com.android.support:design:23.1.1'

现在,您可以将任何内容、ImageView、RelativeLayout、TextView放入折叠工具栏布局,它将按预期滚动。

我也有同样的问题;然而,这是因为我的图像占据了整个屏幕。所以我无法滚动。我创建了一个变通方法,允许通过设置底部边距进行滚动。但是,这不允许我滚动图像视图谢谢你的回答Christopher。我对它投了赞成票(-:在添加底部图纸布局之前,它是有效的。