Android TableLayout - 缩小了一点

时间:2012-02-23 20:50:58

标签: android android-layout tablelayout android-tablelayout

我正在尝试将多个文本元素放在一行中,其中一个元素被认为是“活动的”。所以我有以下两种情况:

  • 所有文本元素的总宽度小于父宽度。只需按原样显示所有文本元素。
  • 总宽度超过父宽度。显示“active”元素的全文而不进行任何裁剪,使用椭圆缩小所有其他文本元素。

让我们假设如果只有一个元素,它总是适合。

字符串列表是动态的。任何元素都可以随时设置为“活动”。

到目前为止,我有以下内容:具有单行的表布局,所有“非活动”列都设置为可收缩,文本元素最终设置为椭圆化。 “active”是setEllipsize(null),列不可收缩。

问题是所有可收缩柱都缩小到某个固定百分比但不是更多。如果这还不足以让“活动”文本显示,则整个表格将剪裁为父宽度。

所以问题是我是否缺少某种方法来控制可以收缩多少列。

P.S。所有布局都是由代码生成的,而不是使用布局xmls。

1 个答案:

答案 0 :(得分:0)

您可以使用布局权重,或者如果更好,您可以将视图的可见性设置为INVISIBLE或GONE,而不是缩小元素。但是如果你仍然需要显示整行文本,你可以保持所有行完全相同。 然后,当视图处于活动状态时,您可以使用relative_layout(全文)覆盖另一个视图。所以你基本上会使用弹出窗口效果。