你如何摆脱AS3,Feathers中的滚动条。 SCROLL_BAR_DISPLAY_MODE_NONE无效

时间:2014-01-10 08:44:41

标签: actionscript-3 scroll scrollbar starling-framework

我有一个TextArea,我打印出很多东西。因为我在TextArea需要滚动条的新行上打印每条消息。我希望能够滚动,但我不想看滚动条。我不想要任何滚动条,因为它们不适合我的程序,它们会增加我的绘制调用。

我试过了:

SCROLL_BAR_DISPLAY_MODE_NONE

这摆脱了滚动条和滚动条。有了这个我仍然可以滚动,但TextArea只会滚动,如果我添加东西。所以这对我不起作用。

我只想在没有任何(可见)滚动条的情况下滚动。

这是我的TextArea代码:

private var Text:TextArea = new TextArea();

Text.y = stage.stageHeight - 355;
Text.height = 340;
Text.width = 1320;
Text.x = 15;
Text.isEditable = false;
Text.hasElasticEdges = true;
Text.text = welcomeText;

1 个答案:

答案 0 :(得分:0)

在textarea中将“verticalScrollPolicy”和“horizo​​ntalScrollPolicy”设置为off。 xou仍然可以使用鼠标滚轮或箭头滚动,但滚动条将不可见。在mxml中它看起来像这样:

<s:TextArea verticalScrollPolicy="off" horizontalScrollPolicy="off"/>

在动作脚本中它看起来像这样:

var text:TextArea = new TextArea();
text.setStyle("verticalScrollPolicy", ScrollPolicy.OFF);
text.setStyle("horizontalScrollPolicy", ScrollPolicy.OFF);

我正在使用spark TextArea容器。以上测试的简单应用代码:

<?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" minWidth="955" minHeight="600"
               creationComplete="onCC()">
    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
    </fx:Declarations>
    <mx:VBox id="container">
        <s:Label text="type here:" />
        <s:TextArea id="source"  width="100" height="50"/>
        <s:Label text="and text will appear in this noneditable field below" />
    </mx:VBox>
    <fx:Script>
        <![CDATA[
            import spark.events.TextOperationEvent;

            import flashx.textLayout.container.ScrollPolicy;
            private function onCC():void{
                var text:TextArea = new TextArea();
                text.width = 100;
                text.height = 50;
                text.editable = false;
                text.setStyle("verticalScrollPolicy", ScrollPolicy.OFF);
                text.setStyle("horizontalScrollPolicy", ScrollPolicy.OFF);
                source.addEventListener(TextOperationEvent.CHANGE, function(e:Event):void{
                    text.text = source.text;
                });
                container.addElement(text);
            }
        ]]>
    </fx:Script>
</s:Application>