我必须使用recyclerView实现垂直和水平滚动,并且实际上我可以通过使用LinearLayoutManager来设置方向来更改recyclelerview方向.问题是当水平滚动它在同一页面中显示下一个项目.我应该只显示一个项目在一个我们滚动的时间应该显示下一个项目请帮我修复这个或任何建议.
**main.xml** <LinearLayout android:id="@+id/recyler_container" android:layout_width="match_parent" android:layout_weight="1" android:layout_height="0dp"> <android.support.v7.widget.RecyclerView android:id="@+id/vertical_recycler_view" android:layout_below="@id/slelect_scroll" android:background="#fff" android:layout_width="match_parent" android:layout_height="wrap_content"/>
**row.xml** <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="match_parent" android:background="#3e56ed" android:layout_height="wrap_content"> <TextView android:textColor="#FFF" android:textSize="18sp" android:padding="16dp" android:id="@+id/txtView" android:text="sample text" android:layout_weight="1" android:layout_alignParentLeft="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <TextView android:id="@+id/txtView2" android:textColor="#FFF" android:textSize="18sp" android:padding="16dp" android:layout_marginLeft="20dp" android:layout_weight=".1" android:background="#000" android:layout_alignParentRight="true" android:text="sample text234" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </LinearLayout>
解决方法
如果您希望RecyclerView模仿ViewPager的行为 –
RecyclerView recyclerView = (RecyclerView) view.findViewById(R.id.recycler_view); LinearLayoutManager layoutManager = new LinearLayoutManager(context,LinearLayoutManager.HORIZONTAL,false); SnapHelper snapHelper = new PagerSnapHelper(); recyclerView.setLayoutManager(layoutManager); snapHelper.attachToRecyclerView(mRecyclerView);