我有一个包含来自数据源的标题的列表。标题的长度是未知的,可以是一行,两行甚至更多......在标题下我想要放置帖子的作者姓名。
我将两个标签(标题标签和作者标签)放在一个带有layout: 'vertical'
的视图中,该标签将作者标签置于标题标签下。但仍然必须以某种方式限制标题显示的行数 - 我希望最多有2行。所以我设置了主题标签的高度。
虽然设置标签的高度确实限制了显示的行数,但它会导致另一个问题 - 在标题为2行或更多行的行上,一切看起来都很棒。但是在标题只有一行的行上,该行和作者名称之间现在有空格 - 我希望在标签下面有作者姓名(重要的是要注意 - 作者标签有不同字体大小和颜色比标题。)
如果它只是普通的旧HTML,我只会设置max-height
css属性 - 但是Titanium在Views / Labels上没有这种属性。有没有办法在视图上获得最大高度?
答案 0 :(得分:0)
Appcelerator对视图不支持此类属性max-height。但你可以做的是,你可以听取视图的 postlayout 事件,一旦触发你就可以得到 rect ,以获得视图的高度。现在在这里你可以发挥你的魔力。如果视图的高度大于您想要的某个值,那么您可以修复它,否则让它保持原样。
如果它适合您,请告诉我们。如果没有,我们可以尝试提出其他解决方案。
答案 1 :(得分:0)
在Android上,您可以在标签上使用maxLines。
对于Views和iOS,您可以执行以下操作。设置视图的height:Ti.UI.SIZE
并使用bottom
设置视图底部与其父级视图之间的最小间距。这仅在父级具有固定大小时才有效。
在ListView上收听post layout
将无效,因为您必须在ListView上设置此内容,但无法访问rect
或size
属性ListItem视图。
答案 2 :(得分:0)
我刚刚在iOS SDK中添加了numberOfLines:https://jira.appcelerator.org/browse/TIMOB-24071
对于Android奇偶校验,它被称为/^(.+)\s{1}\((.*)\)$/
。它真的适用于ListView模板中的标签。