Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache flex 如何获得拇指两侧都有皮肤的滑翔机_Apache Flex_Skinning - Fatal编程技术网

Apache flex 如何获得拇指两侧都有皮肤的滑翔机

Apache flex 如何获得拇指两侧都有皮肤的滑翔机,apache-flex,skinning,Apache Flex,Skinning,我想创建一个HSlider,这样轨迹的皮肤在拇指两侧都是不同的。例如,拇指左侧的轨迹是绿色的,而另一侧是红色的 这是可能的还是需要自定义组件?您可以通过蒙皮来实现。整个滚动条是可自定义的。您只需要将HScrollBar的trackSkin样式设置为编程皮肤。然后你的皮肤基本上是两个矩形。0到父级。滚动位置。另一个从parent.scrollPosition到height。下面是一个可能有效的示例。我还没有测试。你可能需要摆弄一些数字 public class ScrollBarSkin ex

我想创建一个HSlider,这样轨迹的皮肤在拇指两侧都是不同的。例如,拇指左侧的轨迹是绿色的,而另一侧是红色的


这是可能的还是需要自定义组件?

您可以通过蒙皮来实现。整个滚动条是可自定义的。您只需要将HScrollBar的trackSkin样式设置为编程皮肤。然后你的皮肤基本上是两个矩形。0到父级。滚动位置。另一个从
parent.scrollPosition
height
。下面是一个可能有效的示例。我还没有测试。你可能需要摆弄一些数字

  public class ScrollBarSkin extends Border
  {
    //maybe needed as a hack for the flex internals. Values may need to be changed for specific cases
    override public function get measuredWidth():Number {return 16; }
    override public function get measuredHeight():Number {return 10;}   

    override protected function updateDisplayList(w:Number, h:Number):void {
      super.updateDisplayList(w,h);

      if(this.parent) {
        var g:Graphics = this.graphics;
        g.clear();

        //top   
        g.beginFill(0xFF0000);
        g.drawRoundRect(1,1, w, parent.scrollPosition);
        g.endFill();

        //bottom
        g.beginFill(0x00FF00);
        g.drawRoundRect(0, parent.scrollPosition, w, h);
        g.endFill();

      }
    }    
  }