Android Horizo​​ntal RecyclerView wrap_content

时间:2016-02-21 09:46:58

标签: android android-recyclerview android-wrap-content

你好,我试图使用Recyclerview

下面的代码结果只有一个空白的屏幕,请你告诉我哪里出错了

<LinearLayout
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:gravity="top|center_vertical">

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

    <ImageView
        android:id="@+id/ImageViewSelectPhoto"
        android:layout_width="80dp"
        android:layout_height="76dp"
        android:src="@drawable/ic_add_a_photo_black_361px"
        android:background="@drawable/back"
        android:layout_marginRight="20dp"
        android:layout_marginBottom="20dp" />

</LinearLayout>

3 个答案:

答案 0 :(得分:1)

  1. 由于您已提供

        android:layout_width="match_parent"
        android:layout_height="match_parent"
    

    对于您的RecyclerView,它采用设备或父视图的全宽和高度。 ImageView在设备屏幕之外。

  2. 现在您刚刚在XML中声明了RecyclerView。您需要一个RecyclerView行布局,它应该定义RecyclerView项目的布局。

  3. 要在RecyclerView中显示某些内容,您可以在行布局布局中自行设置静态数据,或者需要为动态/静态数据创建RecyclerView适配器和模型。

答案 1 :(得分:1)

您需要为Horizo​​ntal-scrollview创建一个列表项布局,并为它创建一个单独的适配器。

尝试添加android:viewfillport="true"

我也问了一个类似的问题,请看看它,你肯定会得到一个简单的方法来实现它。

Horizontal Listview Not Working from github

答案 2 :(得分:1)

我认为它应该与此相似

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:gravity="top|center_vertical">

<android.support.v7.widget.RecyclerView
    android:id="@+id/ImageSelectorRecycler"
    android:layout_weight="1"
    android:layout_width="0dp"
    android:layout_height="match_parent"/>

<ImageView
    android:id="@+id/ImageViewSelectPhoto"
    android:layout_width="80dp"
    android:layout_height="76dp"
    android:layout_marginRight="20dp"
    android:layout_marginBottom="20dp"
    android:src="@android:drawable/ic_dialog_alert"
    android:background="@android:color/holo_green_dark" />

</LinearLayout>