我有一系列的日子。我希望那些日子在DateChooser组件中有不同的背景颜色,比如红色。
我该怎么做呢?
发布于 2010-09-28 23:38:47
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;
}
}
}
}发布于 2011-01-04 18:49:47
感谢Gregor Kiddie的分享。我修改了一下Gregor Kiddie的代码。让它可以输入多个日期。
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;
}
}
}
}发布于 2010-09-28 21:50:51
您必须使用disabledRanges和disabledColor。这是一个关于"Flex examples“的example。
https://stackoverflow.com/questions/3813216
复制相似问题