雕虫小艺:Slider控件的制作(Flash)

简介:

Slider是常用控件。Adobe官方提供的控件中,fl库所带的控件不好用,便有兄弟《自制Flash Slider滚动条Flex库中也提供有Slider控件,但是Flex控件太重量级,动不动就是一二百K的尺寸,很多场合没法用。并且,FlexSlider也不容易定制,比如,它的highlight tracktrack要低1像素,这在很多情况下是不合适的。

本文修改MinimalComps项目的Slider控件代码,提供一个小巧的Slider控件解决方案,本方案具有以下优势:

(1)小巧。不依赖于fl控件或Flex库,使用本控件不会让程序尺寸增加多少;

(2)容易定制。很容易定制 highlight tracktrackthumb部分;

(3)可数据绑定。

MinimalComps项目提供了简单的Slider控件,该控件源代码为:

 

View Code

然而,MinimalCompsSlider控件的外观(http://www.minimalcomps.com/?page_id=5)很简单,见下图。

 

由于外观直接写死了,没办法换皮肤,因此,难以用于生产环境。

 

下面是我的改写版本:

 

View Code

BaseComponent类见我的其它博文:《只学一点点:我的技术学习策略 》(http://www.cnblogs.com/xiaotie/archive/2011/12/10/2283384.html)和《使用铁哥SmartFlash快速开发方案:66行代码搞定抽奖程序!》(http://www.cnblogs.com/xiaotie/archive/2011/06/15/2081386.html)。

下面演示Slider控件的使用:

 

View Code

 

在线演示:

 

从上到下,可以看到三个Slider

第一个Slider的皮肤由三个形状组成,track是黑色矩形,highlightTrack是蓝色矩形,thumb是圆。highlightTracktrack都规定了高度,这个高度,就是显示出来的highlightTracktrack高度,如果想让highlightTracktrack变粗,改变它的高度即可。Thumb规定了长和宽,如果修改thumb的大小,改变它的长宽即可,当然,如果长宽不等,则就是椭圆而非圆形了。

第二个Slider是由三个图片组成的,以应对复杂精致的皮肤,所使用的三个图片如下:

 

使用不同的图片,便是不同的Slider外观。

第二个Slider和第一个Slider还有个不同,就是ignoreThumbSize属性为true。第一个Sliderthumb是圆形,把thumb拖到两端可以发现,thumb遮盖不住两端(如果是方形的thumb则没这个问题),因此,引入了ignoreThumbSize字段。ignoreThumbSize字段默认为false,当ignoreThumbSizetrue时,以thumb的中线为定位基准,这样便可避免当thumb是圆形时移动到两端,盖不住track两端的情况。

第三个Sliderorientation设为vertical,因此,便是竖着的Slider

Slider可供数据绑定,比如:

<gc:Label x="130" y="50" autoSize="true" text="{slider1.value}" />

通过这样简单的代码便可使slider1的值改变时,对应的Lable的文本也发生变化。

是不是既小巧、又易用又灵活呢?

本文转自xiaotie博客园博客,原文链接http://www.cnblogs.com/xiaotie/archive/2012/02/11/2346956.html如需转载请自行联系原作者


xiaotie 集异璧实验室(GEBLAB)

相关文章
|
Windows
Winform控件优化之背景透明那些事1:Button控件等背景透明
WinForm不支持真正的透明,其控件透明的实现都是背景颜色设置和对应位置的父控件背景相同。 Winform中控件的背景透明只有三种:Button控件的透明、其他控件的透明...
2986 0
Winform控件优化之背景透明那些事1:Button控件等背景透明
|
内存技术
Flash制作标题出现动画
Flash制作标题出现动画
196 0
|
C# Windows
C# WPF 低仿网易云音乐(PC)Banner动画控件
原文:C# WPF 低仿网易云音乐(PC)Banner动画控件 由于技术有限没能做到一模一样的动画,只是粗略地做了一下。动画有点生硬,还有就是没做出网易云音乐的立体感。代码非常简单粗暴,而且我也写有很多注释,这里就不多啰嗦了,直接贴代码。
1578 0
Winform中Picture控件图片的拖拽显示
原文:Winform中Picture控件图片的拖拽显示 注解:最近做了一个小工具,在Winform中对Picture控件有一个需求,可以通过鼠标从外部拖拽图片到控件的上,释放鼠标,显示图片! 首先你需要对你的整个Fom窗口的AllowDrop设置Ture                   //函数从动态链接库中倒入(模拟鼠标事件) [System.
1171 0
win10 uwp 获得Slider拖动结束的值
原文:win10 uwp 获得Slider拖动结束的值 本文讲的是如何获得Slider移动结束的值,也就是触发移动后的值。如果我们监听ValueChanged,在我们鼠标放开之前,只要拖动不放,那么就不停触发,而我们可能要得到事件是拖动结束后,那么我们如何获得。
1268 0