Как убрать границу компонента Flex 4 TextArea (гало с искрой) - PullRequest
5 голосов
/ 25 июня 2009

В Flex 3 SDK вам просто нужно было установить стиль borderThickness на 0 или установить значение borderStyle на none. С Flex 4 SDK и темой Spark это не имеет никакого эффекта.

Ответы [ 7 ]

9 голосов
/ 07 января 2010

Попробуйте что-то вроде:

borderVisible="false"
2 голосов
/ 21 декабря 2012

Если вы хотите удалить границу из spark TextArea, вот несколько способов сделать это: Чтобы все искры TextAreas не имели границ, вы можете сделать это:

s|TextArea {
  borderVisible : false;
}

Вы также можете создать простой стиль и применить его только к определенной искровой текстовой области, например:

.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>
...
1 голос
/ 25 июня 2009

Вы должны установить borderSkin на ноль

<mx:TextArea borderSkin={null} />
1 голос
/ 25 июня 2009

Я еще не баловался во Flash Builder 4, но я знаю, что во Flex 3 вы можете изменить такие вещи (когда это невозможно по-другому):

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

Возможно, вы захотите попробовать, вам просто нужно найти правильный дочерний элемент.

РЕДАКТИРОВАТЬ : Вот ваш ответ

0 голосов
/ 22 октября 2013

В Flex 3: граница для компонента TextArea может управляться с помощью этих двух атрибутов / свойств:

  • borderSkin = "{NULL}"
  • focusAlpha = "0"

Фокус альфа гарантирует, что вы не увидите границы, даже если выбран TextArea.

0 голосов
/ 07 июля 2011

хорошо, я попробовал приведенный выше код, но он не работает для меня Flex Hero SDK 4.5, поэтому я выбрал textArea, создал новый пользовательский скин и изменил границу альфа на 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>

просто и сладко

0 голосов
/ 02 декабря 2010

Хорошо, ваш ответ работает для компонентов MX, для компонента flex 4 spark textarea вы устанавливаете borderVisible = "false" и в коде lblMessage.setStyle ("contentBackgroundAlpha", 0);

Кроме того, если вы делаете это, вы, вероятно, захотите, чтобы хак заставил эту чертову вещь автоматически изменить свой контент ... 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, это чертовски круто!

...