在recyclerview中无法在3个文本视图旁边对齐

时间:2017-09-05 18:56:29

标签: java android

我正在尝试对齐3个文本视图,但textview内容没有相互对齐,因为我计划再添加3个,我想要文本值排列。 如果我将第一个对齐到父对齐,第二个在中间,最后一个对齐到右边,则值排成一行,但我还需要3个文本视图的空间。

以下是它的外观:

RecyclerView Textviews

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
                android:layout_width="match_parent"
                android:layout_height="wrap_content">
    <TextView
        android:id="@+id/value"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Value"
        android:padding="8dp"
        android:gravity="left"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
       />
    <TextView
        android:id="@+id/amount"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Amount"
        android:padding="8dp"
        android:layout_centerHorizontal="true"
        android:gravity="left"
        android:layout_toRightOf="@id/value"
        />
    <TextView
        android:id="@+id/bid"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Bids"
        android:padding="8dp"
        android:gravity="left"
        android:layout_toRightOf="@id/amount"
        android:layout_alignParentTop="true"
       />
</RelativeLayout>

1 个答案:

答案 0 :(得分:3)

如果您为每个textview提供相同的宽度,则可以确保它们彼此对齐。您可以通过在LinearLayout中为每个textview提供1的权重来实现此目的。

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:orientation="horizontal"
    android:layout_height="wrap_content">
    <TextView
        android:id="@+id/value"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Value"
        android:padding="8dp"
        android:gravity="left" />
    <TextView
        android:id="@+id/amount"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Amount"
        android:padding="8dp"
        android:gravity="left" />
    <TextView
        android:id="@+id/bid"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="Bids"
        android:padding="8dp"
        android:gravity="left" />
</LinearLayout>