修复TextView的宽度

时间:2016-01-07 10:35:18

标签: android android-layout textview

我在下面有以下LinearLayout。我将它用于ListView中的一行。

我已将Textview的权重设置为1,因此它们的宽度应相等。

问题是当某些文本视图中包含更多字符时,textview的宽度会发生变化。这会对ListView的显示方式产生整体影响,因为在每一行中数据都没有正确排列。 (我在ListView上面有标题)。

当某些TextView中有更多文本时,文本的两侧仍有空格,而textview只会变大,我不想要,因为我已经将权重设置为1

有没有办法修复每个textview的宽度,以便它不会根据文本的长度发生变化?

提前致谢

马特

<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:paddingBottom="5dp"
    android:paddingTop="5dp" >

    <TextView
        android:id="@+id/rowstarttimeweeksum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="2" />

    <TextView
        android:id="@+id/rowplannedcallsweeksum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/rowncrsweeksum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2"
        android:layout_weight="1" />

    <TextView
        android:id="@+id/rowqasweeksum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2" 
        android:layout_weight="1"/>

    <TextView
        android:id="@+id/rowplannedhoursweeksum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2:33"
        android:layout_weight="1"
        android:gravity="right"/>

    <TextView
        android:id="@+id/rowactualcallsweeksum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2" 
        android:layout_weight="1"
        android:gravity="right"/>

    <TextView
        android:id="@+id/rowactualhourssweeksum"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="2:01" 
        android:layout_weight="1"
        android:gravity="right"/>


</LinearLayout>

1 个答案:

答案 0 :(得分:4)

一个小小的改变,你的问题就解决了

将所有TextView的宽度从wrap_content更改为0dp

android:layout_width="0dp"

每当您将高度/宽度设置为0dp时,它将根据android:layout_weight

管理视图的高度/宽度