Tôi đã tạo một CollapsingToolbarLayout đơn giản và nó hoạt động như một sự quyến rũ. Vấn đề của tôi là nếu tôi cố gắng sử dụng cuộn cuộn trên màn hình lồng nhau , nó chỉ dừng lại khi tôi thả ngón tay ra. Thao tác cuộn bình thường hoạt động như bình thường.
Mã hoạt động của tôi không thay đổi => hoạt động trống được tạo tự động. (Tôi vừa nhấp vào tạo hoạt động trống mới trong studio android và chỉnh sửa XML).
Tôi đọc ở đây, rằng các cử chỉ cuộn trên chế độ xem hình ảnh có lỗi, nhưng không phải, bản thân thao tác cuộn có lỗi: xem tại đây .
Tôi đã thử kích hoạt "cuộn mượt" thông qua mã java. Có vẻ như nếu tôi cuộn đủ xa để chế độ xem hình ảnh không hiển thị nữa, thì các cử chỉ lướt sẽ được nhận dạng.
TLDR: Tại sao cử chỉ hất tung không hoạt động khi chế độ xem hình ảnh hiển thị? Mã XML của tôi trông như thế này:
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true">
<android.support.design.widget.AppBarLayout
android:id="@+id/profile_app_bar_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fitsSystemWindows="true">
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/profile_collapsing_toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="?attr/colorPrimary"
app:expandedTitleMarginStart="48dp"
app:expandedTitleMarginEnd="64dp"
android:fitsSystemWindows="true">
<ImageView
android:id="@+id/image"
android:layout_width="match_parent"
android:layout_height="420dp"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
android:src="@drawable/headerbg"
android:maxHeight="192dp"
app:layout_collapseMode="parallax"/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:layout_collapseMode="pin" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
app:layout_anchor="@id/profile_app_bar_layout"
app:layout_anchorGravity="bottom|right|end"
android:layout_height="@dimen/fab_size_normal"
android:layout_width="@dimen/fab_size_normal"
app:elevation="2dp"
app:pressedTranslationZ="12dp"
android:layout_marginRight="8dp"
android:layout_marginEnd="8dp"/>
<android.support.v4.widget.NestedScrollView
android:id="@+id/profile_content_scroll"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:clipToPadding="false"
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:layout_gravity="fill_vertical"
android:minHeight="192dp"
android:overScrollMode="ifContentScrolls"
>
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/LoremIpsum"/>
</RelativeLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.design.widget.CoordinatorLayout>
nestedScrollView.getParent().requestDisallowInterceptTouchEvent(true);
để xem di chuyển lồng nhau của bạn
ACTION_DOWN y=98 -> ACTION_MOVE y=-40 -> ACTION_MOVE y=-33 -> ACTION_UP y=97
. Có vẻ như sự kiện lần chạm cuối cùng đang tự báo cáo sai là bên cạnh sự kiện đầu tiên.