0

我试图将几个文本元素放在一行中,并且这些元素中的一个被认为是“活动的”。所以我有以下两种情况:

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

假设可以保证,如果只有一个元素,它总是合适的。

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

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

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

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

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

4

1 回答 1

0

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

于 2012-02-23T20:56:44.067 回答