java - 在 recyclerview 中将 3 个 TextView 彼此相邻对齐时遇到问题

标签 java android

我正在尝试对齐 3 个 TextView ,但 TextView 的内容没有相互对齐,因为我打算再添加 3 个 TextView 并且我希望文本值对齐。 如果我将第一个与父级左侧对齐,第二个在中间,最后一个在右侧,则这些值会对齐,但我需要空间来容纳 3 个以上的 TextView 。

这是它的样子:

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>

最佳答案

如果你给每个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>

关于java - 在 recyclerview 中将 3 个 TextView 彼此相邻对齐时遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46061624/

相关文章:

java - 为 Java 和 .NET 实现单一数据访问层

java - Spring Boot + Spring Data JPA + H2 :Error creating bean with name 'entityManagerFactory' defined in class path resource

Android 屏幕分辨率 px 和 dp

安卓。 Facebook 分享对话框在 Android 6.0+ 上立即关闭

android - Android应用不会第二次运行

java - 如何在接口(interface)默认方法中对新对象创建进行单元测试?

Java 使用正确的编码打开文件

java.lang.UnsupportedOperationException : JsonObject - Not sure why

java - 如何在java的静态方法中使用this关键字?

android - 将复选框值插入 Sqlite 数据库