我有一个2列的TableLayout填充片段的整个宽度,但我想要一个特定的项目(自定义进度条)贪婪并占用尽可能宽的宽度,直到表格本身的宽度,像这样:
_______________________________
|Text1-1|Value1-2 | |
|Text2-1|Value2-2 | |
|Text3-1|Value3-2=============|
问题是,与为表保留的区域相比,其他行相当短,并且我无法使进度条超出其指定列的最宽点。
首先,我尝试将进度条及其关联的文本视图放在LinearLayout中,跨度为2:
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 3-1" />
<LinearLayout
android:layout_span="2"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Value3-2" />
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="100" />
</LinearLayout>
</TableRow>
LinearLayout没有超出“第2列”的宽度,可能是因为没有“第3列”,因为所有行都有2个子元素:
_______________________________
|Text1-1|Value1-2 | |
|Text2-1|Value2-2 | |
|Text3-1|Value3-2=| |
然后我删除了LinearLayout,使进度条成为其TableRow的第三个子项:
<TableRow>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text 3-1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Value3-2" />
<ProgressBar
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:max="100" />
</TableRow>
现在进度条出现在“第3列”中,但只使用任意短的长度,尽管有“fill_parent”:
______________________________
|Text1-1|Value1-2| |
|Text2-1|Value2-2| |
|Text3-1|Value3-2|=== |
如何告诉它使用表格保留的所有可用宽度?
答案 0 :(得分:0)
我希望我理解你的问题。尝试设置
android:layout_weight="1"
代表LinearLayout
TableRow