Appcelerator Titanium - 设置视图或标签最大高度

时间:2016-01-29 20:22:38

标签: appcelerator appcelerator-titanium

我有一个包含来自数据源的标题的列表。标题的长度是未知的,可以是一行,两行甚至更多......在标题下我想要放置帖子的作者姓名。

我将两个标签(标题标签和作者标签)放在一个带有layout: 'vertical'的视图中,该标签将作者标签置于标题标签下。但仍然必须以某种方式限制标题显示的行数 - 我希望最多有2行。所以我设置了主题标签的高度。

虽然设置标签的高度确实限制了显示的行数,但它会导致另一个问题 - 在标题为2行或更多行的行上,一切看起来都很棒。但是在标题只有一行的行上,该行和作者名称之间现在有空格 - 我希望在标签下面有作者姓名(重要的是要注意 - 作者标签有不同字体大小和颜色比标题。)

如果它只是普通的旧HTML,我只会设置max-height css属性 - 但是Titanium在Views / Labels上没有这种属性。有没有办法在视图上获得最大高度?

3 个答案:

答案 0 :(得分:0)

Appcelerator对视图不支持此类属性max-height。但你可以做的是,你可以听取视图的 postlayout 事件,一旦触发你就可以得到 rect ,以获得视图的高度。现在在这里你可以发挥你的魔力。如果视图的高度大于您想要的某个值,那么您可以修复它,否则让它保持原样。

如果它适合您,请告诉我们。如果没有,我们可以尝试提出其他解决方案。

答案 1 :(得分:0)

在Android上,您可以在标签上使用maxLines

对于Views和iOS,您可以执行以下操作。设置视图的height:Ti.UI.SIZE并使用bottom设置视图底部与其父级视图之间的最小间距。这仅在父级具有固定大小时才有效。

在ListView上收听post layout将无效,因为您必须在ListView上设置此内容,但无法访问rectsize属性ListItem视图。

答案 2 :(得分:0)

我刚刚在iOS SDK中添加了numberOfLines:https://jira.appcelerator.org/browse/TIMOB-24071 对于Android奇偶校验,它被称为/^(.+)\s{1}\((.*)\)$/ 。它真的适用于ListView模板中的标签。