0

我想出了这个非常烦人的布局问题。

基本上我正在寻找的 UI 组件并不复杂,但行为需要准确。

在所有情况下,我都有 2 或 3 个文本需要水平布局。

在最好的情况下,所有这 3 个都放在一行中,因此布局不是问题。

| 文本 1 <空格> | 正文 2 | <空格> 文字3 |

但是,当我遇到 text1 需要超过 1 行的问题时,我应该为 TableLayout 设置可拉伸的第 0 列,同时 text2 可能也需要超过 1 行,因此该列也需要可拉伸,我需要结果像这样:

| text1 多行占 40% | text2 占 20% | 文本 3 多行占 40% |

当这个问题出现时,我还没有找到设置 TableLayout 收缩和拉伸列的方法。还有一个问题是 TableRow 可以包含 2 或 3 个孩子。

我用 LinearLayout 和 onGlobalLayout 进行了几个小时的测试,我计算了这些视图的占用量和调整权重,但这非常复杂并且并不总是有效,view3 上的宽度有时在 view1 很长时返回零。

我正在寻找一些从这里开始的提示,我应该在 xml 中进行布局并膨胀它们而不是以编程方式制作它们等等。

4

1 回答 1

0

好的,我找到了解决方案,如果只有 2 个孩子,第 0 列可收缩,第 1 列可拉伸,表行跨度为 2,如果只有 2 个孩子。

于 2012-07-20T13:06:27.320 回答