我正在尝试让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>
这就是它的样子:
答案 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>