我正在寻找一种方法来制作一个标签(textarea会做),我可以自动调整字体大小,使文字适合宽度。
为了使它更清楚一点,我理解autosize属性将允许组件增加它的宽度,以便所有文本都可见,我正在寻找与此相反的方式。假设我有一个200px宽度的标签,并且我的文本跨度大约为300px,标签应该降低字体大小,以便它可以在200px区域内显示。
我已经搜遍了所有我能找到的是一个标题文字的AS3样本(http://livedocs.adobe.com/flex/3/html/help.html?content=Working_with_Text_22.html)但是我我不知道如何让它在Flex 4自定义组件环境中工作
请帮助我???
答案 0 :(得分:1)
这取决于您想要的准确度。
正如Flextras指出的那样,为了使宽度完美贴合,你必须测量。 Per Flex,您将在updateDisplayList()上实现。
如果您正在寻找更简单的方法,可以尝试优化比率并使用数据绑定。
比如,如果字体大小为20,宽度为200像素,则使用该比率:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx">
<s:Label text="Size as ratio"
fontSize="{(20 / 200) * width}" />
</s:Application>
这不是一种最佳方法,但可能会花时间调查线条指标。