如何删除Flex 4 TextArea组件的边框(火花主题光环)

时间:2009-06-25 17:29:53

标签: flex flex4 adobe halo

使用Flex 3 SDK,您只需将borderThickness样式设置为0,或将borderStyle设置为none。使用Flex 4 SDK和Spark主题,这没有任何效果。

7 个答案:

答案 0 :(得分:9)

尝试类似:

borderVisible="false"

答案 1 :(得分:2)

如果你想从 spark 删除边框,TextArea可以通过以下方式解决问题: 要使所有spark TextAreas都没有边框,你可以这样做:

s|TextArea {
  borderVisible : false;
}

你也可以制作一个简单的样式,只将它们应用于特定的Spark TextAreas,如下所示:

.noBorder {
  borderVisible : false;
}
...
<s:TextArea styleName="noBorder"/>

你可以通过创建完成来关闭它:

<s:Application ...
  creationComplete="onCreationComplete()"/>
...
private function onCreationComplete() : void {
  mySparkTextArea.setStyle('borderVisible', false);
}
...
<s:TextArea id="mySparkTextArea"/>
</s:Application>

最后,根据DrMaxmAd的建议,你可以制作一个皮肤,如下所示:

...
<!-- border/fill --> 
<s:Rect left="0" right="0" top="0" bottom="0">
    <s:stroke>
        <s:SolidColorStroke color="#5C5C5C" weight="1" alpha="0"/>            
    </s:stroke>
    <s:fill>
        <s:SolidColor color="#FFFFFF"/>
    </s:fill>
</s:Rect>
...

答案 2 :(得分:1)

我还没有涉足Flash Builder 4,但我知道在Flex 3中你可以修改这样的东西(当不可能采用其他方式时):

var tb:TextInput = new TextInput();
tb.getChildAt(0).setStyle(...);

可能想尝试一下,你只需要找到正确的子元素。

编辑Here's your answer

答案 3 :(得分:1)

您必须将borderSkin设置为null

<mx:TextArea borderSkin={null} />

答案 4 :(得分:0)

Jeol您的回答适用于MX组件,对于您设置borderVisible =“false”的flex 4 spark textarea组件,以及代码lblMessage.setStyle(“contentBackgroundAlpha”,0);

另外,如果你这样做,你可能希望hack使该死的东西自动调整它的内容... set heightInLines =“{NaN}”

<s:TextArea borderVisible="false" focusEnabled="false" width="100%" id="lblMessage" heightInLines="{NaN}"  editable="false" selectable="true" lineBreak="toFit" verticalScrollPolicy="off" horizontalScrollPolicy="off" />

protected function OnCreationComplete(objEvent:Event):void{
   lblMessage.setStyle("contentBackgroundAlpha", 0);
 }

...并且感谢RobotLegs,这真是太棒了!

答案 5 :(得分:0)

我已经尝试了上面的代码,但它对我的Flex Hero SDK 4.5不起作用,所以我选择textArea并创建了一个新的自定义皮肤并将边框alpha更改为0。

<!-- border/fill --> 
    <s:Rect left="0" right="0" top="0" bottom="0">
        <s:stroke>
            <s:SolidColorStroke color="#5C5C5C" weight="1" alpha="0"/>            
        </s:stroke>
        <s:fill>
            <s:SolidColor color="#FFFFFF"/>
        </s:fill>
    </s:Rect>
简单又甜蜜

答案 6 :(得分:0)

在Flex 3中:可以使用以下两个属性/属性来控制TextArea组件的边框:

  • borderSkin = “{NULL}”
  • focusAlpha = “0”

焦点alpha确保即使选择了TextArea也不会显示边框。