博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
雕虫小艺:Slider控件的制作(Flash)
阅读量:7073 次
发布时间:2019-06-28

本文共 1529 字,大约阅读时间需要 5 分钟。

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

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

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

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

(3)可数据绑定。

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

 

View Code

然而,MinimalComps的Slider控件的外观()很简单,见下图。

 

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

 

下面是我的改写版本:

 

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。第一个Slider的thumb是圆形,把thumb拖到两端可以发现,thumb遮盖不住两端(如果是方形的thumb则没这个问题),因此,引入了ignoreThumbSize字段。ignoreThumbSize字段默认为false,当ignoreThumbSizetrue时,以thumb的中线为定位基准,这样便可避免当thumb是圆形时移动到两端,盖不住track两端的情况。

第三个Slider的orientation设为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)

你可能感兴趣的文章
我有一个idea,但是没有钱,又没技术怎么办?
查看>>
网页文字图片异步加载方式
查看>>
Wordpress如何更换网站主机?
查看>>
Java连接Oracle数据库简单实例
查看>>
Exchange2010 dag 的部署
查看>>
Linux/UNIX的scp命令用法详解
查看>>
Eclipse(MyEclipse)插件Jigloo的下载与安装
查看>>
软件设计的思想与哲学
查看>>
非常实用的linux系统命令
查看>>
NFS在Centos 6.3下的安装
查看>>
git pull 和本地文件冲突解决
查看>>
iOS音频AAC视频H264编码 推流最佳方案
查看>>
python基础教程(第2版)第五章读后总结;
查看>>
关于在eclipse中使用tomcat的笔记
查看>>
Android自定义控件实现简单的轮播图控件
查看>>
centos 6.4下的samba服务器的构建
查看>>
持续交付:价值主张
查看>>
二进制、八进制、十进制、十六进制之间转换
查看>>
sqlmap 本地安装
查看>>
[计算机术语]缺省
查看>>