2

一連の日があります。当時は、DateChooserコンポーネントの背景色を変えて、たとえば赤にしたいと思っています。

どうすればいいですか?

4

3 に答える 3

3

DateChooserのカスタマイズはそれほど簡単ではありません。

これに近いものでも機能しますが、やりたいことに合わせて微調整する必要があります。

public class FancyDateChooser extends DateChooser {
    public var fancyStyleName : String;
    public var dayToMakeFancy : String;

    protected override createChildren() : void {
        super.createChildren();
        var dateGrid : UIComponent = mx_internal::dateGrid;
        for ( var i: int = 0; i < dateGrid.numChidren; i++ ) {
            if ( ( dateGrid.getChildAt( i ) as IUITextField ).text == dayToMakeFancy ) {
                dateGrid.getChildAt( i ).styleName = fancyStyleName;
            }
        }
    }
}
于 2010-09-28T15:38:47.243 に答える
2

グレゴールキディのシェアをありがとう。GregorKiddieのコードを少し変更しました。複数の日付を入力できるようにします。

public class MyDateChooser extends DateChooser
{
    public var highlightColor : Number = 0xff0000; // sample
    public var highlightDate : Array = ["10","20"]; // sample

    public function MyDateChooser()
    {
        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.textColor = highlightColor;
                    }
                }
            }
        }
于 2011-01-04T10:49:47.047 に答える
0

disableRangesとdisabledColorを使用する必要があります。これが「フレックスの」の例です。

于 2010-09-28T13:50:51.437 に答える