Android 使用RecyclerView的运动布局,在RecyclerView的末尾滚动
如何用MotionLayout实现scrollToPosition 目前,我有一个RecyclerView和一些标题,隐藏在滚动上并显示是否滚动到顶部。现场如下:Android 使用RecyclerView的运动布局,在RecyclerView的末尾滚动,android,android-recyclerview,android-motionlayout,android-scroll,Android,Android Recyclerview,Android Motionlayout,Android Scroll,如何用MotionLayout实现scrollToPosition 目前,我有一个RecyclerView和一些标题,隐藏在滚动上并显示是否滚动到顶部。现场如下: <Transition motion:constraintSetEnd="@+id/end" motion:constraintSetStart="@id/start" motion:duration="1000"> <OnS
<Transition
motion:constraintSetEnd="@+id/end"
motion:constraintSetStart="@id/start"
motion:duration="1000">
<OnSwipe
motion:touchAnchorId="@+id/header"
motion:dragDirection="dragUp"
motion:onTouchUp="stop" />
</Transition>
<ConstraintSet android:id="@+id/start">
<Constraint
android:id="@+id/header"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="visible"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toBottomOf="@id/toolbar" />
<Constraint
android:id="@+id/recycler_view"
android:layout_width="0dp"
android:layout_height="0dp"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toBottomOf="@id/header" />
</ConstraintSet>
<ConstraintSet android:id="@+id/end">
<Constraint
android:id="@+id/header"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="invisible"
motion:layout_constraintBottom_toTopOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent" />
<Constraint
android:id="@+id/recycler_view"
android:layout_width="0dp"
android:layout_height="0dp"
motion:layout_constraintBottom_toBottomOf="parent"
motion:layout_constraintEnd_toEndOf="parent"
motion:layout_constraintStart_toStartOf="parent"
motion:layout_constraintTop_toBottomOf="@+id/toolbar" />
</ConstraintSet>
它适用于一些项目,但在添加10个项目后,如果您位于顶部并添加了一个项目,则RecyclerView会滚动,但它与MotionLayout不同步。是否有任何方法可以通过编程方式滚动recyclerView的运动布局。如果你自己滚动,它会正常工作。试试看
recyclerView.smoothScrollToPosition(位置) 不是我想要的。这只是操纵recyclerview,而不是motionlayout。
private fun scrollToBottom() {
val position = routineSetsAdapter.itemCount - 1
binding.motionLayoutContainer.transitionToEnd()
binding.recyclerView.scrollToPosition(position)
}