0

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

在此处输入图像描述

我错过了什么?

<?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>

4

2 回答 2

0

你可以android:layout_below在你的TextViewwith中使用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" />
于 2013-09-15T19:25:14.820 回答
0

在你的TextView调用eventClickForMore中,添加属性android:layout_below="@+id/eventTeams"

并为应该在下面的TextView被调用者做同样的事情eventDateeventTime

编辑

我已经更新了代码,基本上,您需要将和的layout_height属性更改为。使所有空间垂直。eventTeamseventTimeSectionandroid:layout_height="wrap_content"match_parentTextView

另外我认为你可以摆脱android:layout_alignParentBottomand android:layout_alignParentLeftin eventClickForMoreand eventDate(虽然不确定,也许第一次更新就足够了)。

请参阅下面的代码:

<?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="wrap_content"
        android:textSize="17sp" />

    <TextView
        android:id="@+id/eventClickForMore"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/eventTeams"
        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="wrap_content"
        android:gravity="center"
        android:textSize="22sp" />

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

</RelativeLayout>

于 2013-09-15T19:25:21.130 回答