自定义ListView文本始终相互叠加

时间:2013-09-15 19:18:38

标签: java android android-layout android-listview android-xml

我制作了一个用于显示数据列表的卡片布局。出于某种原因,无论我为布局宽度,高度,重量等改变哪些属性,文本总是显示在其他文本行的顶部,如下所示。

enter image description here

我错过了什么?

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_marginTop="10dp"
android:orientation="horizontal"
android:background="@drawable/card_inset">

<RelativeLayout
    android:id="@+id/eventDetails"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="70"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/eventTeams"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"
        android:textSize="17sp" />

    <TextView
        android:id="@+id/eventClickForMore"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_alignParentLeft="true"
        android:textSize="14sp" />

</RelativeLayout>

<RelativeLayout
    android:id="@+id/eventTimeSection"
    android:layout_width="0dp"
    android:layout_height="match_parent"
    android:layout_weight="30"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/eventTime"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:gravity="center"
        android:textSize="22sp" />

    <TextView
        android:id="@+id/eventDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:gravity="center"
        android:textAlignment="center"
        android:textSize="12sp" />

</RelativeLayout>

2 个答案:

答案 0 :(得分:0)

您可以android:layout_below TextView使用id@+id/eventClickForMore

<TextView
    android:id="@+id/eventClickForMore"
    android:layout_width="fill_parent"
    android:layout_below = "@id/eventTeams"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:textSize="14sp" />

答案 1 :(得分:0)

在名为TextView的{​​{1}}中,添加属性eventClickForMore

为名为android:layout_below="@+id/eventTeams"的{​​{1}}执行同样的操作,该TextView应低于eventDate

修改

我已经更新了代码,基本上,您需要将eventTimelayout_height的{​​{1}}属性更改为eventTeamseventTimeSectionandroid:layout_height="wrap_content"垂直占据所有空间。

另外我认为你可以摆脱match_parentTextView中的android:layout_alignParentBottomandroid:layout_alignParentLeft(不确定,也许第一次更新就足够了)。

请参阅下面的代码:

eventClickForMore