我想在一个页面布局上使用几个 RecyclerView 。
我需要这个清单:
方法1:
<ScrollView>
<ViewPager></ViewPager> <!-- horizontal image slider 10 item -->
<RecyclerView></RecyclerView> <!-- horizontal -->
<RecyclerView></RecyclerView> <!-- gridview -->
<RecyclerView></RecyclerView> <!-- horizontal -->
<RecyclerView></RecyclerView> <!-- horizontal -->
<RecyclerView></RecyclerView> <!-- gridview -->
<RecyclerView></RecyclerView> <!-- horizontal -->
</ScrollView>
方法2:
<Relativelayout>
<RecyclerView>
<!-- viewtype for ViewPager horizontal image slider 10 item -->
<!-- viewtype for horizontal -->
<!-- viewtype for gridview -->
<!-- viewtype for horizontal -->
<!-- viewtype for horizontal -->
<!-- viewtype for gridview -->
<!-- viewtype for horizontal -->
</RecyclerView>
</Relativelayout>
为此,我找到了两种方法:
ItemViewType
ScrollView
哪种方法正确?
这些方法都存在问题,我找不到方法。
的问题:
<ScrollView>
方法:在滚动到下方之前将所有图像从屏幕中拉出来。 (但滚动快速而流畅)Google Play应用中的列表设计如何? (嵌套且流畅)
谢谢你的帮助
答案 0 :(得分:0)
参考此代码:
<android.support.v4.widget.NestedScrollView
android:id="@+id/scrollView"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
android:scrollbars="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/recylerView1"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
<android.support.v7.widget.RecyclerView
android:id="@+id/recylerView2"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
<android.support.v7.widget.RecyclerView
android:id="@+id/recylerView3"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</android.support.v7.widget.RecyclerView>
<!--You can add as many recycler views you want here--> </LinearLayout>
</android.support.v4.widget.NestedScrollView>
答案 1 :(得分:0)
解决方案发现:
方法2更好。使用一个recycleView
和ItemViewType
。
不要在onBindViewHolder
中设置setAdapter(),这会导致滞后。将steAdapter()放在ViewHolder中并平滑滚动。