获取Android ProgressBar以填充TableLayout行的剩余部分

时间:2014-01-17 18:13:56

标签: android android-progressbar

我正在尝试让Android ProgressBar水平填充TableLayout中的剩余空间。它的父行似乎占据了整个宽度,但当我将布局参数设置为match_parent时,没有任何反应。我得到的是相同的默认大小(48dip宽)ProgressBar。

我发现如果我只是将一个ProgressBar放在一个LinearLayout中并将其设置为match_parent,我就得到了我想要的。但不知怎的,它在TableLayout中无法正常工作?

以下是相关的布局代码:

        <TableRow
            android:layout_width="match_parent"
            android:layout_height="match_parent" >

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="X" />

            <ProgressBar
                android:id="@+id/gyroConfX"
                style="?android:attr/progressBarStyleHorizontal"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:indeterminate="false" />
        </TableRow>

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

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Y" />

            <ProgressBar
                android:id="@+id/gyroConfY"
                style="?android:attr/progressBarStyleHorizontal"
                android:indeterminate="false" />
        </TableRow>

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

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Z" />

            <ProgressBar
                android:id="@+id/gyroConfZ"
                style="?android:attr/progressBarStyleHorizontal"
                android:indeterminate="false" />
        </TableRow>
    </TableLayout>

这就是它的样子:

enter image description here

1 个答案:

答案 0 :(得分:1)

尝试将layout_weight =“1”和layout_width =“0dp”添加到进度条,如下所示:

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

    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Abcdefg"
            />
        <ProgressBar
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            style="?android:attr/progressBarStyleHorizontal"
            />
    </TableRow>
    <TableRow
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        >
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Lorem Ipsum"
            />
        <ProgressBar
            android:layout_width="0dp"
            android:layout_weight="1"
            android:layout_height="wrap_content"
            style="?android:attr/progressBarStyleHorizontal"
            />
    </TableRow>
</TableLayout>