代码之家  ›  专栏  ›  技术社区  ›  Joel Hooks

如何删除flex 4文本区域组件的边框(火花主题光环)

  •  5
  • Joel Hooks  · 技术社区  · 15 年前

    使用flex 3 SDK,您只需将borderthickness样式设置为0,或将borderstyle设置为none。使用flex 4 sdk广告Spark主题,这没有任何效果。

    7 回复  |  直到 9 年前
        1
  •  9
  •   Mark Ursino    13 年前

    尝试以下方法:

    borderVisible="false"
    
        2
  •  2
  •   nephiw    12 年前

    如果要从中删除边框 火花 textArea的方法如下: 要使所有Spark文本区域没有边框,可以执行以下操作:

    s|TextArea {
      borderVisible : false;
    }
    

    您也可以创建一个简单的样式,并且只将它们应用于特定的Spark文本区域,如:

    .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>
    

    最后,你可以根据Maxmad博士的建议做一个皮肤,就像这样:

    ...
    <!-- 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>
    ...
    
        3
  •  1
  •   Lucas Jones    15 年前

    我还没有涉足flash builder 4,但我知道在flex 3中,你可以修改类似的东西(当它不可能是另一种方式时):

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

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

    编辑 : Here's your answer

        4
  •  1
  •   Joel Hooks    15 年前

    必须将BorderSkin设置为空

    <mx:TextArea borderSkin={null} />
    
        5
  •  0
  •   JTtheGeek    14 年前

    jeol您的答案适用于mx组件,对于您设置borderVisible=“false”的flex 4 spark textrain组件,以及代码lblmessage.setStyle(“contentbackgroundalpha”,0);

    此外,如果你这样做,你可能希望黑客使该死的东西自动调整到它的内容…设置高度inlines=“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);
     }
    

    …感谢机器人腿,真是太棒了!

        6
  •  0
  •   DrMaXmAd    13 年前

    我试过上面的代码,但它对我的flex hero sdk 4.5不起作用,所以我选择了文本区域,创建了一个新的自定义皮肤,并将border 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>
    

    简单而甜蜜

        7
  •  0
  •   Abhijeet Riccardo Caroli    11 年前

    在flex 3中:可以使用以下两个属性/属性来控制文本区域组件的边框:

    • borderskin=“空”
    • 聚焦α=“0”

    焦点alpha确保即使选中了文本区域,也不会显示边框。