RecyclerView和一个视图在点击时折叠导致RecyclerView跳转到#34;滚动

时间:2016-09-20 17:53:14

标签: android android-coordinatorlayout

我有一个RecyclerView,有孩子可以随时扩展。此屏幕顶部还有一个CollapsingToolbarLayout,当RecyclerView的孩子扩展时会崩溃。这是打算当我然后滚动RecyclerView时,折叠视图将突然扩展到完整大小。

我认为这种情况正在发生,因为当孩子被展开并且工具栏崩溃时,它会认为用户在滚动时将其折叠了。但是因为没有涉及触摸,当我随后滚动自己时,RecyclerView仍然认为视图就在那里。

知道如何停止自动折叠或让RecylerView使用折叠视图的位置进行更新?

代码,如有必要:

<android.support.design.widget.CoordinatorLayout
        android:id="@+id/lytChanges"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        >

        <android.support.design.widget.AppBarLayout
            android:id="@+id/appbar"
            android:layout_width="match_parent"
            android:layout_height="89dp"
            android:background="@color/colorPrimary"
            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">

                <reroo.reroo.CustomViews.FontText
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_centerHorizontal="true"
                    android:layout_marginTop="@dimen/itinerary_changes_margin_top"
                    android:background="@android:color/transparent"
                    android:text="Changes:"
                    android:textAlignment="center"
                    android:textColor="#B3ffffff"
                    android:textSize="16sp"
                    app:layout_collapseMode="pin"/>

            </android.support.design.widget.CollapsingToolbarLayout>

        </android.support.design.widget.AppBarLayout>

        <!--</android.support.percent.PercentRelativeLayout>-->

        <android.support.v7.widget.RecyclerView
            android:id="@+id/my_recycler_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_gravity="center_horizontal"
            android:background="@color/grey"
            android:focusable="false"
            android:foreground="?android:attr/selectableItemBackground"
            android:scrollbars="vertical"
            app:layout_behavior="@string/appbar_scrolling_view_behavior"/>

    </android.support.design.widget.CoordinatorLayout>

编辑1:我尝试添加enterAlways,enterAlwaysCollapsed和exitUntilCollapsed到我的xml,但我相信这是一个问题,RecyclerView在子画面扩展动画后没有跟踪它的位置。

编辑2:在子级点击后使用notifyItemChanged(位置)会导致RecyclerView为扩展和折叠设置动画,然后在没有任何用户输入的情况下为视图的非折叠设置动画。

首选行为: 动画和崩溃。留。要么 没有动画和崩溃,但在滚动上崩溃

0 个答案:

没有答案