在新的CardView中对齐多个TextView

时间:2014-10-22 22:05:07

标签: android android-layout android-studio

我试图创建一个CardView,它将显示作者的引用,包括作者姓名,引用,然后是它下面的引用。我认为我已经掌握了大部分内容,但似乎对齐TextView的一般规则似乎并不适用于CardView。我在这里进行了研究,发现你应该将android:layout="vertical"添加到LinearLayout(或RelativeLayout),但这似乎并没有改变我的想法。我也尝试将它添加到CardView本身,认为它继承了直接父母的方向,但也没有运气。我仍然让TextViews相互重叠,而不是一个接一个地重叠。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:layout_height="match_parent"
    android:layout_width="match_parent">
    ... >

<!-- A CardView that contains a TextView -->
<android.support.v7.widget.CardView
    xmlns:card_view="http://schemas.android.com/apk/res-auto"
    android:id="@+id/card_view"
    android:layout_gravity="top"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:longClickable="true"
    android:orientation="vertical"
    card_view:cardUseCompatPadding="true"
    card_view:cardCornerRadius="4dp"
    card_view:cardElevation="4dp"
    card_view:contentPadding="10dp"
    >
    <TextView
        android:id="@+id/info_text"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textColor="#FF4444"
        android:textSize="24sp"
        android:text="Gordon B. Hinckley"
        />
    <TextView
        android:id="@+id/info_text2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/info_text"
        android:text="Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text. Test text."
        />
    <TextView
        android:id="@+id/info_text3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/info_text2"
        android:textColor="#33B5E5"
        android:gravity="end"
        android:text="and I'm the reference."
        />

</android.support.v7.widget.CardView>

有什么想法吗?

1 个答案:

答案 0 :(得分:26)

解决了它。只需将<TextView>包裹在<LinearLayout>(或其他任何布局)中,但仍然在<android.support.v7.widget.CardView>内。