[url]http://uh.9ria.com/space-12147-do-blog-id-668.html[/url]
如果只是做Button竖排,就不用搞这么恶心的办法了。问题在于Button没有用接口,架构不允许。
package
{
import mx.controls.Button;
import mx.controls.ButtonLabelPlacement;
import mx.controls.TabBar;
import mx.core.IFlexDisplayObject;
import mx.core.UITextField;
import mx.core.mx_internal;
import mx.events.FlexEvent;
use namespace mx_internal;
public class VerticalTabBar extends TabBar
{
public function VerticalTabBar()
{
super();
addEventListener(FlexEvent.CREATION_COMPLETE,createCompleteEvt);
}
override protected function createNavItem(label:String,icon:Class = null):IFlexDisplayObject{
var button:Button=(super.createNavItem(label,icon) as Button);
button.addEventListener(FlexEvent.UPDATE_COMPLETE,buttonUpdateComplete);
return button;
}
private function buttonUpdateComplete(event:FlexEvent):void{
var button:Button=event.currentTarget as Button;
button.getTextField().y=(button.height-button.getTextField().textHeight)/2;
}
private function createCompleteEvt(event:FlexEvent):void{
for each(var button:Button in getChildren()){
button.labelPlacement= ButtonLabelPlacement.TOP;
var text:UITextField=button.getTextField() as UITextField;
text.explicitHeight=text.textHeight+5;
}
}
}
}如果只是做Button竖排,就不用搞这么恶心的办法了。问题在于Button没有用接口,架构不允许。
本文介绍了一种使用ActionScript实现垂直排列TabBar的方法。通过自定义VerticalTabBar类,继承TabBar,并调整内部Button布局和样式,实现了按钮垂直显示的效果。
9491

被折叠的 条评论
为什么被折叠?



