2

在我的 Flex3 应用程序中,我有一些包含可变数量文本的浮动窗口。窗口旨在用户可调整大小。目前,虽然我可以调整窗口大小,但在调整窗口大小时,我无法让窗口中 TextArea 中的文本重新流动。我在博客文章中发现 TextArea 中存在大小错误,这意味着设置文本内容不会正确调整 TextArea 的大小以及建议的解决方法。就我而言,内容保持不变,但容器的几何形状发生了变化。似乎正在发生的事情是 TextArea 在第一次渲染时采用了固定大小,并且没有任何调整容器大小会改变它。谁能建议一种在 Flex 中创建流畅文本区域的方法?

伊恩

4

4 回答 4

0

我找到了一个很好的流体窗口示例,请访问它。他们也提供源代码,所以你可能会得到更好的主意。

http://examples.adobe.com/flex3/devnet/dashboard/main.html

于 2009-02-16T10:01:42.780 回答
0

您可以尝试 Adob​​e 的文本布局框架:http: //labs.adobe.com/technologies/textlayout/

于 2009-06-16T21:40:13.467 回答
0

我可以对此进行打击......但不要笑......我不确定您是否需要使用特定的容器,但无论如何,将宽度和高度设置为 100% 并使用 Grid > GridRow 和 GridItem 来大小和调整文本控件的大小,您可以指定表格的宽度,或者像 Flex 中的 HTML 表格一样使用它来操作控件和容器的大小...。

希望有帮助...

于 2010-01-07T00:16:33.670 回答
0

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

<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>
于 2011-04-11T10:15:58.857 回答