1

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

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

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

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

4

3 回答 3

0

我刚刚在 iOS SDK 中添加了 numberOfLines:https ://jira.appcelerator.org/browse/TIMOB-24071 它被称为maxLinesAndroid parity。它确实适用于 ListView 模板中的标签。

于 2016-10-26T12:02:49.023 回答
0

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

请让我们知道它是否适合您。如果没有,我们可以尝试提出其他解决方案。

于 2016-01-29T21:56:25.100 回答
0

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

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

在 ListView 上收听post layout将不起作用,因为您必须在 ListView 上进行设置,但无法访问 ListItem 视图的rectorsize属性。

于 2016-02-01T13:46:21.917 回答