水平回收器一次查看多个项目

时间:2016-07-06 18:19:21

标签: android android-recyclerview recyclerview-layout

我想像这样一次显示多个项目视图

enter image description here

我正在使用Recycler view 23.2.1

compile 'com.android.support:recyclerview-v7:23.2.1'

我的回收商视图xml

       <android.support.v7.widget.RecyclerView
            android:id="@+id/gallary"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:scrollbars="horizontal" />

对应的Java代码

 mRecyclerView = (RecyclerView) findViewById(R.id.gallary);
 mLayoutManager = new LinearLayoutManager(this, LinearLayoutManager.HORIZONTAL, false);
 mRecyclerView.setLayoutManager(mLayoutManager);

使用此配置,我只能同时获得一个项目。如下图所示

enter image description here

似乎回收器视图中的wrap_content不起作用,因为图像之间的空间存在。无论如何要删除项目之间的空间。

我在Recycler视图link中发现了一个与wrap_contect相关的错误,该错误已修复。不确定这是否是导致问题的原因。任何帮助解决这个问题将不胜感激

我的行视图:

 <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/facebook" />

        <TextView
            android:id="@+id/titletv"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/image"
            android:layout_centerHorizontal="true"
            android:text="Testing"
            android:textSize="@dimen/fourteen_sp" />


        <ProgressBar
            android:id="@+id/mainimgloading"
            android:layout_width="24dp"
            android:layout_height="24dp"
            android:layout_centerInParent="true"
            android:layout_gravity="center" />


    </RelativeLayout>

</LinearLayout>

1 个答案:

答案 0 :(得分:7)

您行的父级LinearLayout不能match_parent您必须使用wrap_content作为宽度,否则您将获得所看到的内容。

如果您有垂直回收者视图,那么您将使用wrap_content作为您的身高而非宽度