如何为组件 TextArea (Spark 4) 中的所有字母添加效果(阴影、发光)?
5 回答
我看到这是一个老问题,但是由于我今天遇到了同样的问题,所以我发布了我的解决方案。
您可以按照此处所述访问using的RichEditableText
组件: TextArea
textDisplay
RichEditableText 可以作为 textDisplay 访问,而 Scroller 可以作为滚动条访问
RichEditableText
是从 扩展而来的UIComponent
,因此filters
可以应用于UIComponents
(“您可以将过滤器应用于从 UIComponent 派生的任何可视组件”),可以应用于它。
例如,为了将 aDropShadowFilter
应用于组件中的所有字母,myTextArea:TextArea
我使用了以下代码行:
var richTextComponent:UIComponent = myTextArea.textDisplay as UIComponent;
var shadow:spark.filters.DropShadowFilter = new spark.filters.DropShadowFilter;
richTextComponent.filters = [shadow];
希望这可以帮助某人:-)
只需将皮肤添加到您的 TextArea 组件,然后将阴影添加到皮肤内的 RichEditableText。
<fx:Declarations>
<s:DropShadowFilter id="shadow2"/>
</fx:Declarations>
<s:RichEditableText id="textDisplay" heightInLines="10" widthInChars="15" filters="{[shadow2]}"/>
它对我有用,你只需调整阴影以获得漂亮的外观。
我不认为你可以使用 Flex 来做到这一点(或者至少我从来没有)。您需要使用 AS3 来完成
<s:Label id="label1" text="Shadow Me" />
<fx:Script>
<![CDATA[
import flash.filters.*;
private function creationComplete():void{
var dropshadow:DropShadowFilter = new DropShadowFilter( 3,90,0x000000,.5,4,4,3,3 );
this.label1.filters = [ dropshadow ];
}
]]>
</fx:Script>
通过使用 Filter 类,我们可以为 as:TextArea 组件应用阴影发光效果。示例代码是:
<s:TextArea contentBackgroundAlpha="0" borderAlpha="0">
<s:filters>
<s:DropShadowFilter distance="5" angle="45" color="#666666"/>
</s:filters>
<s:content>
Testing text area content
</s:content>
</s:TextArea>
请参阅链接http://www.roseindia.net/tutorial/flex/flex4/components/filters.html以应用更多过滤器(DropShadowFilter、GlowFilter、BlurFilter 和 BevelFilter)。
contentBackgroundAlpha="0" borderVisible="false"