列表视图中文本之间的空格 android

Spaces between texts in listview android

我的 ListView 行中有 3 个 TextView。
我想 space 他们平等。我尝试使用重力,但它不起作用。
所提供的 space 应平均分布在文本中,也可以有所不同。

代码如下:

list.xml

<ListView
    android:layout_width="wrap_content"
    android:layout_height="457dp"
    android:id="@+id/payment_plan_list_view"
    android:layout_gravity="left|center"
    android:divider="@android:color/transparent"
    android:dividerHeight="20dp"
    android:layout_marginTop="10dp"
    android:layout_weight="3"

    />

list_item.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="match_parent"
android:layout_height="match_parent">

<TableLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TableRow>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:text="New Text"
            android:layout_gravity="left|center"
            android:id="@+id/sr_no"
            android:layout_weight="3"
            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:text="New Text"
            android:layout_gravity="left|center"
            android:id="@+id/stage"
            android:layout_weight="3"

            />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:text="New Text"
            android:layout_gravity="left|center"
            android:id="@+id/percentage"
            android:layout_weight="3"

            />
    </TableRow>
    </TableLayout>

android:layout_width="wrap_content" 更改为 android:layout_width="0dp"

然后将android:layout_weight="3"设置为android:layout_weight="1"

正如上面的评论所说,删除 TableLayout - 不确定其目的。

删除 TableLayout,只需使用 weights.
加权尺寸必须为 0dp,才能工作。
另请注意,我的 LinearLayout 具有 horizo​​ntal 方向:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    >
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textSize="15dp"
        android:text="New Text"
        android:layout_gravity="left|center"
        android:id="@+id/sr_no"
    />
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textSize="15dp"
        android:text="New Text"
        android:layout_gravity="left|center"
        android:id="@+id/stage"
    />  
    <TextView
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:textSize="15dp"
        android:text="New Text"
        android:layout_gravity="left|center"
        android:id="@+id/percentage"
    />
</LinearLayout>

尝试使用这样的布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal" android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:text="New Text"
            android:layout_gravity="left|center"
            android:id="@+id/sr_no"
            android:layout_weight="0.35"
            android:singleLine="true"
            android:padding="5dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:text="New Text"
            android:layout_gravity="left|center"
            android:id="@+id/stage"
            android:layout_weight="0.35"

            android:singleLine="true"
            android:padding="5dp" />

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="15dp"
            android:text="New Text"
            android:layout_gravity="left|center"
            android:id="@+id/percentage"
            android:layout_weight="0.30"

            android:singleLine="true"
            android:padding="5dp" />

</LinearLayout>

希望对您有所帮助..

如果你设置重力Left/Center很明显他们会像。

1

2

3

如果您希望文本视图像 1-2-3 一样,请使用填充和权重并移除引力。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:paddingRight="5dp"
    android:paddingLeft="5dp"
    android:textSize="15dp"
    android:text="New Text"
    android:id="@+id/sr_no"
/>
<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:paddingRight="5dp"
    android:paddingLeft="5dp"
    android:layout_weight="1"
    android:textSize="15dp"
    android:text="New Text"
    android:id="@+id/stage"
/>  
<TextView
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:paddingRight="5dp"
    android:paddingLeft="5dp"
    android:textSize="15dp"
    android:text="New Text
    android:id="@+id/percentage"
/>