我的应用使用带有RecyclerView
和LinearLayoutManager
的{{1}}。
在我的应用程序开始时,我希望我的LinearSnapHelper
立即滚动到一个没有任何动画的捕捉位置。
我知道RecyclerView
,但动画滚动。任何想法如何实现这一目标?谢谢! :)
代码
设置RecyclerView.smoothScrollToPosition()
:
RecyclerView
mRecyclerRooms = (RecyclerView) mView.findViewById(R.id.recyclerRooms);
mRoomsLayoutManager = new LinearLayoutManager(getActivity(), LinearLayoutManager.HORIZONTAL, false);
mRecyclerRooms.setLayoutManager(mRoomsLayoutManager);
mSnapHelperRooms = new LinearSnapHelper();
mSnapHelperRooms.attachToRecyclerView(mRecyclerRooms);
mRecyclerRooms.addOnScrollListener(mRoomScrollListener);
的XML:
RecyclerView
<android.support.v7.widget.RecyclerView
android:id="@+id/recyclerRooms"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginTop="8dp"
android:clipToPadding="false"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
用于计算通过mRoomScrollListener()
捕捉的距离,然后相应地缩放项目。我们的想法是让物品变得更大,并且当它们靠近应该是float distanceFromSnap = abs(mSnapHelperRooms.calculateDistanceToFinalSnap(mRecyclerRooms.getLayoutManager(), view)[0]);
的中心的捕捉位置时具有更多的alpha。
答案 0 :(得分:0)
使用此
recyclerViewList.scrollToPosition(position);
答案 1 :(得分:0)
http://www.devexchanges.info/2016/09/android-tip-recyclerview-snapping-with.html?m=1
这可能会有所帮助。但我担心Linear snap helper足以在中心处捕捉。