使用 Flex 3 SDK,您只需将borderThickness 样式设置为0,或将borderStyle 设置为none。对于 Flex 4 SDK 和 Spark 主题,这没有任何效果。
7 回答
尝试类似:
borderVisible="false"
如果您想从spark TextArea 中删除边框,可以使用以下方法:要使所有 spark TextArea 没有边框,您可以这样做:
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>
...
我还没有涉足 Flash Builder 4,但我知道在 Flex 3 中你可以修改这样的东西(当它不可能通过另一种方式时):
var tb:TextInput = new TextInput();
tb.getChildAt(0).setStyle(...);
可能想尝试一下,您通常只需要找到正确的子元素。
编辑:这是你的答案
您必须将borderSkin 设置为null
<mx:TextArea borderSkin={null} />
Jeol 您的答案适用于 MX 组件,适用于您设置的 flex 4 spark textarea 组件 borderVisible="false" 和代码 lblMessage.setStyle("contentBackgroundAlpha", 0);
此外,如果您这样做,您可能希望黑客使该死的东西自动调整为它的内容...设置 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,它太棒了!
好吧,我已经尝试了上面的代码,但它对我 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>
简单甜美
在 Flex 3 中:TextArea 组件的边框可以通过使用以下两个属性/属性来控制:
- borderSkin="{null}"
- 焦点阿尔法=“0”
焦点 alpha 确保即使选择 TextArea 也不会显示边框。