RecyclerView 高度 wrap_content 在每个项目上给出空白 space
RecycleView height wrap_content giving blank space on every Item
这是 RecyclerView 代码:
<android.support.v7.widget.RecyclerView
android:id="@+id/rvMedicine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:listitem="@layout/recycleview_add_medicine"
android:scrollbars="vertical"/>
这是 RecyclerView 项目代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:weightSum="2"
android:layout_gravity="bottom"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="#03A9F4"
android:layout_weight="1.3">
<TextView
android:id="@+id/tvMedicineName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:textColor="#ffffff"
android:layout_centerInParent="true"
android:textAlignment="center"
android:text="Maxican Pasta"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_weight=".7"
android:background="@color/colorPrimary"
android:layout_height="match_parent">
<TextView
android:id="@+id/tvMedicineQuantity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:gravity="center"
android:text="100 pics"
android:textSize="18dp"
android:layout_centerInParent="true"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
这段代码有什么问题?
改变这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" <-- change is here -->
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin">
此 xml 文件包含 RecylerView
的每一行,因此当您使用 match_parent
时,我们会将每一行的高度设置为与 <android.support.v7.widget.RecyclerView
相同的高度。当你使用wrap_content
时每行的高度都会根据需要调整,高度可能会有所不同但是在match_parent
中每行的高度固定为<android.support.v7.widget.RecyclerView
的高度
希望你明白。
这是 RecyclerView 代码:
<android.support.v7.widget.RecyclerView
android:id="@+id/rvMedicine"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:listitem="@layout/recycleview_add_medicine"
android:scrollbars="vertical"/>
这是 RecyclerView 项目代码:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:weightSum="2"
android:layout_gravity="bottom"
android:orientation="horizontal">
<RelativeLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:background="#03A9F4"
android:layout_weight="1.3">
<TextView
android:id="@+id/tvMedicineName"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:textColor="#ffffff"
android:layout_centerInParent="true"
android:textAlignment="center"
android:text="Maxican Pasta"/>
</RelativeLayout>
<RelativeLayout
android:layout_width="0dp"
android:layout_weight=".7"
android:background="@color/colorPrimary"
android:layout_height="match_parent">
<TextView
android:id="@+id/tvMedicineQuantity"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#ffffff"
android:gravity="center"
android:text="100 pics"
android:textSize="18dp"
android:layout_centerInParent="true"/>
</RelativeLayout>
</LinearLayout>
</LinearLayout>
这段代码有什么问题?
改变这个
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="wrap_content" <-- change is here -->
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingTop="@dimen/activity_vertical_margin">
此 xml 文件包含 RecylerView
的每一行,因此当您使用 match_parent
时,我们会将每一行的高度设置为与 <android.support.v7.widget.RecyclerView
相同的高度。当你使用wrap_content
时每行的高度都会根据需要调整,高度可能会有所不同但是在match_parent
中每行的高度固定为<android.support.v7.widget.RecyclerView
希望你明白。