2013-03-06 76 views
1

我正在开发在Appcelerator的钛移动应用程序。我创建了几个带有文本的标签,我需要在创建它们之前确定标签的宽度。我知道他们所有的参数(text,fontSize,fontWeight等)。我怎样才能确定他们的宽度?应用于android。Appcelerator的标签的宽度和高度确定

+0

你不能确定其真实宽度已创建后,他们到。除非你在屏幕外创建它们,然后再添加它们。 – 2013-03-06 17:09:05

+0

同上 - “为什么”在这里回答你比能力更重要。你想用标签做什么? – 2013-03-07 04:30:16

+0

我有一个文本,我需要在这个文本中插入图像,或设置该文本的一部分的颜色,正确我需要知道与已知的文本标签的宽度放置控件。我不想使用webview。 – user2139568 2013-03-07 05:01:52

回答

1

我有运气的StyledLabel module,这是适用于iOS和Android。这允许通过HTML从标签内部进行一些样式设计,该标签的行为非常类似于标准控件。这不是完美的,会比标准的Label重一点,但应该比WebView更轻。其中一个最大的优点,使用StyledLabel是,不像WebView,其膨胀和收缩,以填补contenet,而WebView需要一个定义的宽度。

如果您只是为iOS构建,那么我会建议使用该模块,但如果您正在为Android构建,则不需要它,因为Android Label控件可以采用一些简单的HTML。我目前正在使用它在一个生产项目中,并且大部分它工作得很好,从TableView s开始就不好。

我提到使用HTML的原因是,使用单个控件可能需要一些样式,而不是多个控件,以便获得一些文本字符串的外观颜色不同。

也许相结合,与对照的postlayout活动将帮助你进一步,你应该再能够得到控制的宽度和高度,无论是通过widthheight性质,或通过size财产(size.widthsize.height)。然后,您可以根据标签的位置来定位您的控件。