圆角TabNavigator:RoundTabNavigator

左侧为默认的TabNavigator,右侧为扩展后的RoundTabNavigator,两个均有相同的属性, borderStyle="solid" cornerRadius="10",但是圆角呈现上TabNavigator左上角会连接不上:

圆角TabNavigator:RoundTabNavigator - Kelvin - 浮生若梦

在线例子
源代码: 纳米盘下载|download

RoundTabNavigator.as

package com.kelvinsworld

{

    import mx.containers.TabNavigator;

   

    [Style(name="borderAlpha", type="Number", inherit="no", defaultValue="1")]

 

    public class RoundTabNavigator extends TabNavigator

    {

       private var _showBorder:Boolean=true;

      

       public function RoundTabNavigator()

       {

           super();

       }

      

       [Inspectable(category="General", enumeration="true,false", defaultValue="true")]

       public function set showBorder(value:Boolean):void

       {

           this._showBorder=value;

       }

       public function get showBorder():Boolean

       {

           return this._showBorder;

       }

      

       override protected function updateDisplayList(unscaledWidth:Number,unscaledHeight:Number):void

       {

           super.updateDisplayList(unscaledWidth,unscaledHeight);

           this.drawOutline();

       }

      

       public function drawOutline():void

       {

           var cornerRadius:Number=this.getStyle("cornerRadius");

           if(cornerRadius>0)

           {

              this.setStyle("backgroundAlpha", 0);

              this.setStyle("borderStyle", "none");

             

              var borderColor:uint=this.getStyle("borderColor");

              var borderAlpha:Number=this.getStyle("borderAlpha");

              var backgroundColor:uint=this.getStyle("backgroundColor");

             

              graphics.clear();

              if(showBorder)

                  graphics.lineStyle(1,borderColor,borderAlpha,true); 

              graphics.beginFill(backgroundColor,1);

           graphics.drawRoundRectComplex(0,this.tabBar.height-2,this.width,this.height-this.tabBar.height+1,0,cornerRadius,cornerRadius,cornerRadius);

              graphics.endFill();

           }

       }

    }

}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值