Android ListView 用分隔线等分列

Android ListView Dividing columns with divider equally

我有一个包含 3 列的列表视图。 我想用分隔线把它们平均分成三部分。
例如

文字 |文字 |文本

脸 |肾小球滤过率|敌人

然而,当我使用分隔线时,它看起来像这样

美国广播公司|效果| fkejfe

dffewf|咖啡|埃菲

由于我远离 android 很长一段时间,因此将不胜感激。

我的XML代码如下:

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

    <TextView
        android:id="@+id/txtLabel1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/divider1"
        android:textAppearance="?attr/textAppearanceListItem" />

    <View
        android:id="@+id/divider1"
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:background="@android:color/black" />

    <TextView
        android:id="@+id/txtLabel2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/text_margin"
        android:textAppearance="?attr/textAppearanceListItem" />


    <View
        android:id="@+id/divider2"
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:layout_toLeftOf="@+id/divider1"
        android:background="@android:color/black" />

    <TextView
        android:id="@+id/txtLabel3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"

        android:layout_margin="@dimen/text_margin"
        android:textAppearance="?attr/textAppearanceListItem" />

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"></RelativeLayout>

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

<TextView
    android:id="@+id/txtLabel1"
    android:text="12345"
    android:layout_marginRight="3dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_toLeftOf="@+id/divider1"
    android:textAppearance="?attr/textAppearanceListItem" />

 <View
    android:id="@+id/divider1"
    android:layout_width="1dp"
    android:layout_height="match_parent"
    android:background="@android:color/black" />

 <TextView
    android:id="@+id/txtLabel2"
    android:text="12345"
    android:layout_marginRight="3dp"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="2dp"
    android:textAppearance="?attr/textAppearanceListItem" />


<View
    android:id="@+id/divider2"
    android:layout_width="1dp"
    android:layout_height="match_parent"
    android:layout_toLeftOf="@+id/divider1"
    android:background="@android:color/black" />

<TextView
    android:text="12345"
    android:id="@+id/txtLabel3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginRight="3dp"
    android:layout_margin="2dp"
    android:textAppearance="?attr/textAppearanceListItem" />



</LinearLayout>

使用此布局平均分配您的视图。

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

    <TextView
        android:id="@+id/txtLabel1"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_toLeftOf="@+id/divider1"
        android:textAppearance="?attr/textAppearanceListItem"/>

    <View
        android:id="@+id/divider1"
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:background="@android:color/black"/>

    <TextView
        android:id="@+id/txtLabel2"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/text_margin"
        android:textAppearance="?attr/textAppearanceListItem"/>


    <View
        android:id="@+id/divider2"
        android:layout_width="1dp"
        android:layout_height="match_parent"
        android:layout_toLeftOf="@+id/divider1"
        android:background="@android:color/black"/>

    <TextView
        android:id="@+id/txtLabel3"
        android:layout_width="0dp"
        android:layout_weight="1"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/text_margin"
        android:textAppearance="?attr/textAppearanceListItem"/>


</LinearLayout>

试试这个..

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

<TableLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

   <TableRow
     android:id="@+id/tableRow1"
     android:layout_height="wrap_content"
     android:layout_width="match_parent">

    <TextView
    android:id="@+id/txtLabel1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" 
    android:layout_toLeftOf="@+id/divider1"
    android:textAppearance="?attr/textAppearanceListItem" />

<View
    android:id="@+id/divider1"
    android:layout_width="1dp"
    android:layout_height="match_parent"
    android:background="@android:color/black" />

<TextView
    android:id="@+id/txtLabel2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" 
    android:layout_margin="@dimen/text_margin"
    android:textAppearance="?attr/textAppearanceListItem" />


<View
    android:id="@+id/divider2"
    android:layout_width="1dp"
    android:layout_height="match_parent"
    android:layout_toLeftOf="@+id/divider1"
    android:background="@android:color/black" />

<TextView
    android:id="@+id/txtLabel3"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1" 
    android:layout_margin="@dimen/text_margin"
    android:textAppearance="?attr/textAppearanceListItem" />


    </TableRow>

 </TableLayout>

</LinearLayout>

希望对您有所帮助。