我正在尝试更改DataChooser中特定日期的背景颜色。更具体地说,10和20必须具有不同的颜色。这是我的代码,我带了this question(我不能在那里添加评论):
public class FancyDateChooser extends DateChooser {
public var highlightColor : Number = 0xff0000;
public var highlightDate : Array = ["10","20"];
public function FancyDateChooser() {
super();
}
protected override function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth, unscaledHeight);
var dateGrid : UIComponent = mx_internal::dateGrid;
for ( var i: int = 0; i < dateGrid.numChildren; i++ ) {
if (dateGrid.getChildAt( i ) is IUITextField) {
var textField:UITextField = dateGrid.getChildAt(i) as UITextField;
for (var j:int = 0; j<highlightDate.length; j++) {
if ( textField.text == highlightDate[j] ) {
textField.backgroundColor = highlightColor;
}
}
}
}
}
}
完美地输入updateDisplayList方法,但背景颜色不会改变。
我必须使用updateDisplayList或invalidateDisplayList父方法才能工作吗?我不知道如何使用这些方法。
谢谢。