我想出了这个非常烦人的布局问题。
基本上我正在寻找的 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 中进行布局并膨胀它们而不是以编程方式制作它们等等。