recycleler查看水平和垂直滚动

时间:2017-04-02 11:05:04

标签: android android-recyclerview recycler-adapter

我需要水平滚动和垂直滚动。如何使用回收站视图,或者我应该使用双向视图?请任何人帮助我。 如何设置适配器?

3 个答案:

答案 0 :(得分:2)

您可以将回收站视图添加到布局文件

<android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:id="@+id/recycler_view"
            xmlns:android="http://schemas.android.com/apk/res/android" />

在java文件中将其方向设置为水平或垂直

LinearLayoutManager LayoutManager = new LinearLayoutManager(this);
LayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);// or LinearLayoutManager.VERTICAL
RecyclerView.setLayoutManager(LayoutManager);

答案 1 :(得分:1)

你必须使用两次相同的适配器,一个用于HORIZONTAL,第二个用于VERTICAL。

<android.support.v7.widget.RecyclerView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/recycler_view"
        xmlns:android="http://schemas.android.com/apk/res/android" />

在XML文件中使用上面两次一个用于HORIZONTAL,一个用于VERTICAL

这是HORIZONTAL

LinearLayoutManager LayoutManager = new LinearLayoutManager(this);
LayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL); 
RecyclerView.setLayoutManager(LayoutManager);
OrderedDetailsAdapter orderedDetailsAdapter;
orderedDetailsAdapter = new OrderedDetailsAdapter(OrderDetailsActivity.this,    orderDetailsPojo.getOrderItemsList());mOrderDetailsRecyclerView.setAdapter(orderedDetailsAdapter);

这适用于VERTICAL

LinearLayoutManager LayoutManager = new LinearLayoutManager(this);
LayoutManager.setOrientation(LinearLayoutManager.VERTICAL); 
RecyclerView.setLayoutManager(LayoutManager);
OrderedDetailsAdapter orderedDetailsAdapter;
orderedDetailsAdapter = new OrderedDetailsAdapter(OrderDetailsActivity.this,    orderDetailsPojo.getOrderItemsList());mOrderDetailsRecyclerView.setAdapter(orderedDetailsAdapter);

答案 2 :(得分:0)

只需将您的Vertical-LinearLayout recyclerView添加到Horizo​​ntalScrollView中:

<?xml version="1.0" encoding="utf-8"?>
<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/nested"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <android.support.v7.widget.RecyclerView
            android:id="@+id/recycler_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"/>
    </LinearLayout>
</HorizontalScrollView>

对于垂直recyclerview,请添加以下行:

  LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.VERTICAL, false);
  recyclerView.setLayoutManager(linearLayoutManager);