水平 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>
我有一个 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>