有没有办法将DropShadowFilter应用到Flex 3中TextInput组件中的文本而不影响组件本身?
答案 0 :(得分:1)
实际上,您的mx.controls.TextInput
有一个名为textField
的IUITextField类型的成员,但它是protected
,因此无法直接从其他课程。
您可以在/frameworks/projects/mx/src/mx/controls/TextInput.as
下的Flex SDK中查看其源代码。
要修改此成员,您仍然可以执行以下两项操作之一:
创建一个扩展mx.controls.TextInput
的类。子类可以访问受保护的成员,因此您应该能够添加DropShadowFilter,最好通过覆盖updateDisplayList
方法。
使用显示列表:
for (var i:int = 0; i < myTextInput.numChildren; i++) {
var child:DisplayObject = myTextInput.getChildAt(i);
if (child is IUITextField) doStuffToTextField(child);
}