【发布时间】:2012-02-24 04:56:44
【问题描述】:
我正在尝试将多个文本元素放在一行中,并且其中一个元素被认为是“活动的”。所以我有以下两种情况:
- 所有文本元素的总宽度小于父宽度。只需按原样显示所有文本元素。
- 总宽度超过父宽度。显示“活动”元素的全文而不进行任何剪辑,使用椭圆缩小所有其他文本元素。
让我们假设保证如果只有一个元素,它总是合适的。
字符串列表是动态的。任何元素都可以随时设置为“活动”。
到目前为止,我有以下内容:具有单行的表格布局,所有“非活动”列都设置为可收缩,文本元素最后设置为椭圆形。 “活动”的是 setEllipsize(null) 并且列不可收缩。
问题是所有可收缩列都收缩到某个固定百分比,但不会更多。如果这还不足以让“活动”文本显示出来,则整个表格将被剪裁到父宽度。
所以问题是我是否缺少某种方法来控制可以缩小多少列。
附:所有布局都是由代码生成的,而不是使用布局 xmls。
【问题讨论】:
-
所以我决定用自定义的 onMeasure 实现我自己的 ViewGroup,这将强制所有非活动元素在保持总宽度的同时缩小。然后我决定我实际上并不需要使用这个可收缩行的整个功能。
标签: android android-layout tablelayout android-tablelayout