列不是均匀分布在列表行上

时间:2013-11-19 20:45:35

标签: android

我正在显示带有自定义行的列表视图。有时文本较长,然后行没有正确显示。意味着不同行的列(0,1)具有不同的宽度。我想将列的宽度固定为3:1的比例,但似乎不起作用。下面是行布局的代码

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

    <TableRow
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <LinearLayout
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/text_title"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Shoppers Stop"
                android:textSize="25sp" />

            <TextView
                android:id="@+id/text_location"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="whitefield, bangalore"
                android:textColor="#ffababab" />

            <TextView
                android:id="@+id/text_description"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="here is the subtitle" />
        </LinearLayout>

        <LinearLayout

            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:orientation="vertical" >

            <RatingBar
                android:id="@+id/ratingbar"
                style="?android:attr/ratingBarStyleSmall"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:isIndicator="true"
                android:numStars="5" />

            <Button
                android:id="@+id/button"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:text="enter" />
        </LinearLayout>
    </TableRow>

</TableLayout>

1 个答案:

答案 0 :(得分:1)

使用layout_weight时,应将相应的宽度/高度清零。

对于您的示例,请对layout_width="0dp"个加权LinearLayout元素使用{{1}}。

Linear Layout Weight Guide - 请参阅侧栏和示例代码。