Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/98.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex Flex 4-自动调整字体大小以适应组件宽度_Apache Flex_Flex4 - Fatal编程技术网

Apache flex Flex 4-自动调整字体大小以适应组件宽度

Apache flex Flex 4-自动调整字体大小以适应组件宽度,apache-flex,flex4,Apache Flex,Flex4,我正在寻找一种方法,有一个标签(一个文本区域将做),我可以自动调整字体大小,使文本适合宽度 为了让它更清楚一点,我理解autosize属性将允许组件增加其宽度,以便所有文本都可见,我正在寻找一种与此相反的方式。假设我有一个200像素宽的标签,我有一个300像素宽的文本,标签应该降低字体大小,这样它就可以显示在200像素的区域内 我搜索了所有地方,我能找到的只是一个headlinetextfield的AS3样本(http://livedocs.adobe.com/flex/3/html/help.

我正在寻找一种方法,有一个标签(一个文本区域将做),我可以自动调整字体大小,使文本适合宽度

为了让它更清楚一点,我理解autosize属性将允许组件增加其宽度,以便所有文本都可见,我正在寻找一种与此相反的方式。假设我有一个200像素宽的标签,我有一个300像素宽的文本,标签应该降低字体大小,这样它就可以显示在200像素的区域内

我搜索了所有地方,我能找到的只是一个headlinetextfield的AS3样本(http://livedocs.adobe.com/flex/3/html/help.html?content=Working_with_Text_22.html)但我一辈子都不知道如何在Flex4定制组件的环境中实现这一点


请帮助我???

这取决于您想要的准确度

正如Flextras所指出的,要使宽度完美贴合,您必须进行测量。根据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>


这不是一种最佳方法,但可能会为您赢得时间来研究行度量。

这取决于您想要的准确度

正如Flextras所指出的,要使宽度完美贴合,您必须进行测量。根据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>


这不是一个最佳方法,但可能会为您赢得时间来研究产品线指标。

告诉我们您尝试了什么;并解释为什么它不起作用。听起来你需要在运行时进行一些文本/字体的动态测量。我什么都没试过。我打算尝试使用该链接中的代码,但我不知道如何将其与Flex4联系起来。我想我必须测量文本,但我看了MeasureText方法,它说它在火花控制上不起作用。你看了这个:。它有多种方法来测量文本。但是,老实说,因为你在尝试任何事情之前问了一个问题,所以感觉你是在要求我们为你做你的工作。谢谢你的链接,我从来没有遇到过这个问题。我尝试了各种各样的方法,但在这里没有什么值得一提的,因为这一切都有点冗长,我知道这不会有任何帮助。相信我,在这些论坛上发帖永远是美泰告诉我们你尝试过的最后手段;并解释为什么它不起作用。听起来你需要在运行时进行一些文本/字体的动态测量。我什么都没试过。我打算尝试使用该链接中的代码,但我不知道如何将其与Flex4联系起来。我想我必须测量文本,但我看了MeasureText方法,它说它在火花控制上不起作用。你看了这个:。它有多种方法来测量文本。但是,老实说,因为你在尝试任何事情之前问了一个问题,所以感觉你是在要求我们为你做你的工作。谢谢你的链接,我从来没有遇到过这个问题。我尝试了各种各样的方法,但在这里没有什么值得一提的,因为这一切都有点冗长,我知道这不会有任何帮助。相信我,在这些论坛上发帖永远是我最后的选择