您的位置:首页 > 移动开发 > Objective-C

重写ToggleButtonBar,取消默认选中状态

2012-08-20 20:54 531 查看
通常,ToggleButtonBar没有选定的按钮,而当dataProvider被赋值后,第一个按钮会被默认选中。下面来重写ToggleButtonBar控件,来取消这个默认选中的状态。

代码如下:

package {
import mx.controls.Button;
import mx.controls.ToggleButtonBar;
public class CustomToggleButtonBar extends ToggleButtonBar
{
public function CustomToggleButtonBar() {
super();
}
private var dataReset:Boolean = false;
override public function set
dataProvider(value:Object):void {
super.dataProvider = value;
this.dataReset = true;
}
override protected function
updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void {
super.updateDisplayList(unscaledWidth,unscaledHeight);
if(this.dataReset) {
if(selectedIndex != -1) {
var child:Button;
child = Button(getChildAt(selectedIndex));
if(child) {
child.selected = false;
this.dataReset = false;
}
}
}
}
}
}
使用方法,代码如下:
<mx:Application
xmlns:mx="http://www.adobe.com/2006/mxml"
xmlns:local="*"
layout="vertical"
initialize="initApp(event)">
<local:CustomToggleButtonBar id="toggle" selectedIndex="-1"
dataProvider="{dataProvider}" itemClick="setMode(event)"/>


资料来自flex3 Cookbook
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息