Apache flex Flex3中文本的流畅布局

Apache flex Flex3中文本的流畅布局,apache-flex,user-interface,text,layout,flex3,Apache Flex,User Interface,Text,Layout,Flex3,在我的Flex3应用程序中,我有一些浮动窗口,其中包含可变数量的文本。这些窗口应该是可由用户调整大小的。目前,虽然我可以调整窗口大小OK,但在调整窗口大小时,我无法使窗口中文本区域中的文本重新流动。我在博客上看到一些帖子,说TextArea中有一个大小错误,这意味着设置文本内容并不能正确地重新调整TextArea的大小,以及建议的解决方法。在我的例子中,内容保持不变,但容器的几何图形发生了变化。似乎正在发生的是,TextArea在第一次渲染时采用了固定的大小,并且容器大小的调整不会改变这一点。有

在我的Flex3应用程序中,我有一些浮动窗口,其中包含可变数量的文本。这些窗口应该是可由用户调整大小的。目前,虽然我可以调整窗口大小OK,但在调整窗口大小时,我无法使窗口中文本区域中的文本重新流动。我在博客上看到一些帖子,说TextArea中有一个大小错误,这意味着设置文本内容并不能正确地重新调整TextArea的大小,以及建议的解决方法。在我的例子中,内容保持不变,但容器的几何图形发生了变化。似乎正在发生的是,TextArea在第一次渲染时采用了固定的大小,并且容器大小的调整不会改变这一点。有人能推荐一种在Flex中创建流体文本区域的方法吗


伊恩

我发现了一个很好的例子,请访问它。他们也提供源代码,所以你可能会有更好的想法


我发现了一个很好的例子,请访问它。他们也提供源代码,所以你可能会有更好的想法


您可以从Adobe尝试文本布局框架:

您可以从Adobe尝试文本布局框架:
我可以试试这个。。。但是不要笑。。 我不确定您是否需要使用特定的容器,但在任何情况下,请将宽度和高度设置为100%,并使用Grid>GridRow和GridItem来调整文本控件的大小和大小。您可以指定表格的宽度,或者像Flex中的HTML表格一样使用它来操作控件和容器的大小


希望这对……有帮助。

我可以试试这个。。。但是不要笑。。 我不确定您是否需要使用特定的容器,但在任何情况下,请将宽度和高度设置为100%,并使用Grid>GridRow和GridItem来调整文本控件的大小和大小。您可以指定表格的宽度,或者像Flex中的HTML表格一样使用它来操作控件和容器的大小


希望这有助于……

通过将文本区域的宽度绑定到其容器的宽度,您可以设法保留边距和边框,而不必处理百分比。 此外,每次父文本区域的大小发生变化时,都会调整其大小。 我在想这样的事情:


通过将textArea的宽度绑定到其容器的宽度,您可以设法保持边距和边框,而不必处理百分比。 此外,每次父文本区域的大小发生变化时,都会调整其大小。 我在想这样的事情:


这似乎是一个很好的解决问题的方法,所以谢谢你。事实上,我已经不再使用Flex了——现在我们可以使用Javascript和HTML5了!但希望你的回答能帮助其他人解决同样的问题。这似乎是一个很好的解决方案,所以谢谢你。事实上,我已经不再使用Flex了——现在我们可以使用Javascript和HTML5了!但希望你的回答能帮助其他人解决同样的问题。你如何调整窗口的大小?你使用自定义代码吗?你有没有代码可以显示文本区域的尺寸?如果可能,您可能希望发布一些示例代码,以便我们可以帮助您找到问题。我刚刚在一个应用程序中尝试了调整文本区域的大小,看起来效果不错。请发布一些代码。了解应用程序中到底发生了什么可能会有很大帮助。Flex框架有时有点太多,很容易在某个地方设置错误的属性。您如何调整窗口的大小?你使用自定义代码吗?你有没有代码可以显示文本区域的尺寸?如果可能,您可能希望发布一些示例代码,以便我们可以帮助您找到问题。我刚刚在一个应用程序中尝试了调整文本区域的大小,看起来效果不错。请发布一些代码。了解应用程序中到底发生了什么可能会有很大帮助。Flex框架有时有点太多,很容易在某些地方设置错误的属性。
<fx:Script>
    <![CDATA[
        import spark.layouts.supportClasses.LayoutBase;

        protected function onButtonClicked(event:MouseEvent):void
        {
            currentState = (event.target.selected ? 'largeState' : 'smallState');
        }

    ]]>
</fx:Script>
<s:TitleWindow id="window" width="300" height="200">
    <s:TextArea width="{window.width - 10}" height="{window.height - 60}" 
        text="{IMyConsts.LOREMIPSUM}" borderVisible="false" />
    <s:ToggleButton id="btnEffect" bottom="5"  click="onButtonClicked(event)"
        label="{btnEffect.selected ? 'Go smaller' : 'Go larger'}" />
</s:TitleWindow>
<s:states>
    <s:State name="smallState" />
    <s:State name="largeState" />
</s:states>
<s:transitions>
    <s:Transition fromState="smallState" toState="*">
        <s:Resize target="{window}" widthTo="400" heightTo="300" />
    </s:Transition>
    <s:Transition fromState="largeState" toState="*">
        <s:Resize target="{window}" widthTo="300" heightTo="250" />
    </s:Transition>
</s:transitions>