Flex:删除标签中文本周围的所有空格
Posted
技术标签:
【中文标题】Flex:删除标签中文本周围的所有空格【英文标题】:Flex: Remove all space around text in label 【发布时间】:2011-04-28 04:07:07 【问题描述】:如果我在 Flex 中创建 mx:Label
或 mx:Text
控件,然后为其设置 opaqueBackground,我注意到文本周围有一些空间。
我希望能够摆脱文本与标签顶部和底部完全齐平的空间。更改间隙、填充和领先似乎没有帮助。是否可以让文本与标签的两侧完全齐平?
谢谢。
【问题讨论】:
您尝试了哪些填充?包含文本的容器是否应用任何额外的填充/间隙 什么容器里面有文字? mx:Label 还是 mx:Text?我不知道它是否应用了更多的填充/间隙。我知道对于这两个组件,我将 paddingLeft、paddingRight、paddingTop、paddingBottom、verticalGap、horizontalGap 设置为 0。 【参考方案1】:您需要尝试给 Label 负 paddingTop 和 paddingBottom 直到它刷新。
【讨论】:
【参考方案2】:问这个问题已经有一段时间了,但我认为问题在于标签和文本将 UITextField.TEXT_HEIGHT_PADDING 的值添加到一些测量内容(文本中的测量高度,标签中的 lineMetrics),这会导致这些控件出现有点不同。
如果您检查,UITextField.TEXT_HEIGHT_PADDING 属性的当前值为 4,但它是一个 mx_internal 属性。我所做的是将 paddingTop 设置为-2,它似乎可以解决问题。我认为搞乱 measureHeight 可能会破坏 Label 和 Text 中的其他一些东西,所以我只是用填充来解决它......
【讨论】:
【参考方案3】:我发现最好的方法(删除所有填充/间距)是实际使用包装器(如 Canvas)来包装标签并根据需要进行自定义。
有点难看,但这是我找到的唯一方法。
【讨论】:
【参考方案4】:恕我直言,它应该在 flex 中工作,高度也一样:
label.width = label.textWidth
【讨论】:
这不起作用。它只是开始切断标签的文本部分。以上是关于Flex:删除标签中文本周围的所有空格的主要内容,如果未能解决你的问题,请参考以下文章