水平 RecycleView 不显示其全部内容

Horizontal RecycleView doesn't display its full content

我有一个 ListView,在其中我想要带有自定义项的水平 RecyclerView。问题是每张图片下的 TextView 不知何故没有显示。

带有 RecyclerView 的主 ListView 项目

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

    <TextView android:id="@+id/category_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="start"
        android:textSize="20sp"
        android:layout_marginRight="10dp"/>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/horizontal_recycler_view"
        android:scrollbars="vertical"
        android:layout_width="match_parent"
        android:layout_height="110dp" />
</LinearLayout>

RecyclerView 的单个项目

<LinearLayout
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <ImageView android:id="@+id/horizontal_list_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal" />

    <TextView android:id="@+id/horizontal_list_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="FFFFFFFF"
        android:textSize="15sp"/>
</LinearLayout>

您使用了 100dp android:layout_height但是图像和文字更高。

您可以尝试类似的方法:

<LinearLayout
android:layout_width="100dp"
android:layout_height="wrap_content"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android" >

<ImageView android:id="@+id/horizontal_list_image"
    android:layout_width="wrap_content"
    android:layout_height="0"
    android:weight="70"
    android:layout_gravity="center_horizontal" />

<TextView android:id="@+id/horizontal_list_text"
    android:layout_width="wrap_content"
    android:layout_height="0"
    android:weight="30"
    android:layout_gravity="center_horizontal"
    android:text="FFFFFFFF"
    android:textSize="15sp"/>

在这种情况下,图像将占据 70% 的大小,textview 将占据另外 30%。

尝试将 RecyclerView 项目 android:layout_height 改为 match_parent 而不是 wrap_content

这应该有效。

    <LinearLayout
    android:weightSum="2"

    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <ImageView 
        android:layout_weight="1"

        android:id="@+id/horizontal_list_image"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal" />

    <TextView 
       android:layout_weight="1" 

        android:id="@+id/horizontal_list_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:text="FFFFFFFF"
        android:textSize="15sp"/>
</LinearLayout>