Flex进度条
Flex中,进度条的皮肤,以及使用Timer让它自动增加~
mxml中:
<mx:ProgressBar id="proBar"
verticalCenter="0"
horizontalCenter="0"
trackSkin="probar.borderskin"
fontSize="12"
height="24"
color="#336699"
label="正在加载..."
labelPlacement="center"
maskSkin="probar.maskskin"
maximum="100"
direction="right"
mode="manual"
minimum="0"
barSkin="probar.updatedisplay_"
visible="false"
alpha="0.9"> </mx:ProgressBar>
as中:
(注意:没有贴上整个的,只是取了其中相关的)
private var requestDataTimer:Timer = new Timer(50); public function complete():void
{
//register event.
requestDataTimer.addEventListener(TimerEvent.TIMER, progressOnRequestDataTimer);
} private function progressOnRequestDataTimer(event:TimerEvent):void
{
if (progressInt > separateProgressInt)
{
proBar.label = "数据量大或网络慢, 请耐心...";
requestDataTimer.stop();
return;
} proBar.setProgress(progressInt, 100);
proBar.label = "当前进度: " + progressInt.toString() + "%" + "(正在请求数据...)";
progressInt++;
}
呵呵,皮肤是在网上找来的(其实本人对flex研究不深,这皮肤里面的弯弯绕绕也没完全看明白,而且感觉flex的每次升级都变动很大,皮肤相关的很多属性都不是以前能用的,导致学习成本都很高啊~所以拿过来修改一番能用就用上了):
1.borderskin.as
import mx.skins.halo.ProgressTrackSkin;
import mx.skins.Border;
import mx.styles.StyleManager;
import mx.utils.ColorUtil; /**
* ...
* @author Thyiad
*/
public class borderskin extends ProgressTrackSkin
{ public function borderskin()
{
super();
} override protected function updateDisplayList(w:Number, h:Number):void
{
super.updateDisplayList(w, h); // User-defined styles
var borderColor:uint = getStyle("borderColor");
var fillColors:Array = getStyle("trackColors") as Array;
this.styleManager.getColorNames(fillColors); // ProgressTrack-unique styles
var borderColorDrk1:Number = ColorUtil.adjustBrightness2(borderColor, -30); graphics.clear(); drawRoundRect(0, 0, w, h, 0, [borderColorDrk1, borderColor], 0, verticalGradientMatrix(0, 0, w, h)); drawRoundRect(1, 1, w - 2, h - 2, 0, fillColors, 0, verticalGradientMatrix(1, 1, w - 2, h - 2));
} }
2.maskskin.as
import flash.display.Graphics; import mx.skins.halo.ProgressMaskSkin; /**
* ...
* @author Thyiad
*/
public class maskskin extends ProgressMaskSkin
{ public function maskskin()
{
super();
} override protected function updateDisplayList(w:Number, h:Number):void
{
super.updateDisplayList(w, h); // draw the mask
var g:Graphics = graphics;
g.clear();
g.beginFill(0xFFFF00);
//g.drawRect(1, 1, w - 2, h - 2);
g.drawRoundRect(1, 1, w - 2, h - 2, 20, 20);
g.endFill();
}
}
3.updatedisplay_.as
import flash.display.Graphics;
import mx.skins.halo.ProgressIndeterminateSkin;
import mx.styles.StyleManager;
import mx.utils.ColorUtil;
import mx.controls.ProgressBar;
import mx.skins.halo.ProgressTrackSkin; /**
* ...
* @author Thyiad
*/
public class updatedisplay_ extends ProgressIndeterminateSkin
{ public function updatedisplay_()
{
super();
} override protected function updateDisplayList(w:Number, h:Number):void
{
super.updateDisplayList(w, h); var barColorStyle:* = 0xff9935; //blue
var barColor:uint=this.styleManager.isValidStyleValue(barColorStyle) ? barColorStyle : getStyle("themeColor"); var barColor0:Number = ColorUtil.adjustBrightness2(barColor, 0);
var hatchInterval:Number = getStyle("indeterminateMoveInterval"); if (isNaN(hatchInterval))
hatchInterval = 28; var g:Graphics = graphics; g.clear(); if (w == 0)
{
}
else
{
g.beginFill(barColor0, 1);
g.moveTo(0, 1);
g.lineTo(w, 1);
g.curveTo(w + 10, h / 2, w, h - 1);
g.lineTo(0, h - 1);
g.lineTo(0, 1);
g.endFill();
}
} }
Flex进度条的更多相关文章
- Flex4/Flash多文件上传(带进度条)实例分享
要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演 ...
- vue2-loading-bar 一款基于Vue2的进度条插件
自学了N久vue,奈何没有练手项目,终于决心拿个东西来试试手.基于对音乐的热爱,选择的第一个demo是音乐播放器.一般播放器都有进度条,于是无意间找到这个插件,就是vue2-loading-bar,这 ...
- 纯CSS打造进度条
进度条效果如下: CSS部分 body { background-color: white; } .progress-bar { display: flex; flex-direction: row; ...
- 圆形进度条css3样式
<view class="con"> <view class="percent-circle percent-circle-left"> ...
- 【消灭代办】第5周 - null拷贝,input自适应,进度条加载,颜色随机值
2018.12.10 代办一:javascript中js怎么拷贝null的值 null属于简单类型的数值,直接进行拷贝即可: 2018.12.11 代办二:怎么让input自适应宽度? 这样是写下代办 ...
- 微信小程序 - 时间进度条功能
关于答题类,或者一些游戏环节的小程序需要用到时间进度条,改功能怎么实现看下面源码 <view class='out' style='margin-top:10px'> <view c ...
- CodePush自定义更新弹框及下载进度条
CodePush 热更新之自定义更新弹框及下载进度 先来几张弹框效果图 非强制更新场景 image 强制更新场景 image 更新包下载进度效果 image 核心代码 这里的热更新Modal框,是封装 ...
- css3实现loading效果--当页面加载过程中显示Loading的进度条,全部加载完成之后进度条消失
一个页面等图片资源全部加载完成,会需要很长时间,用户体验会很差,所以我们需要loading来掩盖这个漫长的过程! emmm,定时器?写个定时器还要清除,万一造成内存泄露?定时器之间还会互相影响,呼呼呼 ...
- Vue/React圆环进度条
数据展示,一直是各行各业乐此不疲的需求,具体到前端开发行业,则是各种各种图表数据展示,各种表格数据展示,烦不胜烦(繁不胜繁)! 前几天刚做了折线图.柱状图.饼状图之类的图表数据展示效果,今天又碰到了类 ...
随机推荐
- LINUX文件操作命令
body, table{font-family: 微软雅黑} table{border-collapse: collapse; border: solid gray; border-width: 2p ...
- linux_磁盘分区
分区并没有数据内容只是改变分区表,保存在0磁头,0磁道1扇区除MBR引导后64bytes中,只能有4个组分区,4个以上要一个扩展分区 引导MBR,保存在446字节中 磁盘想要存放数据,首先要分区,可以 ...
- Django 模版中如何对主菜单进行选中?
问题描叙: 在实际模版中,返回的页面我们想要主菜单保持一种状态,这个主菜单进去的子页面,都需要保持主菜单选择状态 例如 主菜单是 课程, 下面展现的章节和视频页面时候, 课程这个主菜单在展现这个菜单下 ...
- redis五大类型用法
Redis五大类型:字符串(String).哈希/散列/字典(Hash).列表(List).集合(Set).有序集合(sorted set)五种Controller:@Resource RedisTe ...
- 输入和输出--IO流
JavaIO流 首先要理解这个"流"(stream)字:Java把不同的输入,输出源抽象成为流,通过流的方式允许Java程序使用相同的方式来访问不同的输入,输出源.把这里的&quo ...
- SQL语句-INSERT语句
Insert语句 Insert语句三种写法: mysql> desc students; +-------+-------------+------+-----+---------+------ ...
- MTF 曲线图解读
最近想入手佳能小小白(EF70-200 F4.0 USM),购买镜头的时候,在镜头厂商的产品页看到下面形状的曲线图: 这是什么意思呢?看着很复杂的样子啊?百度了一圈学习了一下,下面做个简单的分析. 这 ...
- crontab 定时任务守护程序,停止服务器时出现 job for * canceled
(1)首先要在程序启动的时候加入定时任务到crontab #! /bin/shmkdir -p /home/apps/components/ams/ 2>/dev/nullcp ./amswat ...
- Model和ModelAndView
在请求处理方法可出现和返回的参数类型中,最重要的就是Model和ModelAndView.对于MVC框架,控制器Controller执行业务逻辑,用于产生模型数据Model,而试图View则用于渲染模 ...
- js和java中使用正则表达式校验邮箱
问题:经常在项目中要校验邮箱? 邮箱格式:首位必须为字母,必须包含一个@符号,并且@之后有个名字,之后还有个.,再有一个后缀名 例如:wyp55023@163.com 一.java中代码如下: Str ...