Cradview在项目之间留下了空间

时间:2018-03-24 17:57:58

标签: android xml cardview

我的问题在于Android Studio中的Cardview。我正在从XML Feed解析数据并使用cardview来显示它。一切似乎都没问题,但是cardview在每一行后都留下了空闲空间。我的布局代码如下。

enter image description here

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView 
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/cardview"
android:orientation="vertical">

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

    <TextView
        android:id="@+id/date_text"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:text="Small Text" />

    <ImageView
        android:id="@+id/thumb_img"
        android:layout_width="350dp"
        android:layout_height="150dp"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/date_text"
        android:src="@drawable/test" />

    <TextView
        android:id="@+id/title_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/thumb_img"
        android:layout_centerHorizontal="true"
        android:background="#006699"
        android:gravity="center"
        android:lines="1"
        android:text="TextView" />

    <TextView
        android:id="@+id/description_text"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_below="@+id/thumb_img"
        android:text="TextView" />
</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

尝试将android:layout_height="match_parent"更改为android:layout_height="wrap_content"

现在,你告诉android让cardview成为包装布局的高度,我认为你想要的只是占用尽可能多的高度来显示你的信息。

答案 1 :(得分:0)

您需要将CardViewRelativeLayout身高从match_parent更改为wrap_content

使用更改布局XML这将解决您的问题

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:id="@+id/cardview"
    android:orientation="vertical">

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

        <TextView
            android:id="@+id/date_text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentEnd="true"
            android:layout_alignParentRight="true"
            android:layout_alignParentTop="true"
            android:text="Small Text" />

        <ImageView
            android:id="@+id/thumb_img"
            android:layout_width="350dp"
            android:layout_height="150dp"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/date_text"
            android:src="@drawable/test" />

        <TextView
            android:id="@+id/title_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/thumb_img"
            android:layout_centerHorizontal="true"
            android:background="#006699"
            android:gravity="center"
            android:lines="1"
            android:text="TextView" />

        <TextView
            android:id="@+id/description_text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentStart="true"
            android:layout_below="@+id/thumb_img"
            android:text="TextView" />
    </RelativeLayout>
</android.support.v7.widget.CardView>