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进度条的更多相关文章

  1. Flex4/Flash多文件上传(带进度条)实例分享

    要求 必备知识 本文要求基本了解 Adobe Flex编程知识和JAVA基础知识. 开发环境 MyEclipse10/Flash Builder4.6/Flash Player11及以上 演示地址 演 ...

  2. vue2-loading-bar 一款基于Vue2的进度条插件

    自学了N久vue,奈何没有练手项目,终于决心拿个东西来试试手.基于对音乐的热爱,选择的第一个demo是音乐播放器.一般播放器都有进度条,于是无意间找到这个插件,就是vue2-loading-bar,这 ...

  3. 纯CSS打造进度条

    进度条效果如下: CSS部分 body { background-color: white; } .progress-bar { display: flex; flex-direction: row; ...

  4. 圆形进度条css3样式

    <view class="con"> <view class="percent-circle percent-circle-left"> ...

  5. 【消灭代办】第5周 - null拷贝,input自适应,进度条加载,颜色随机值

    2018.12.10 代办一:javascript中js怎么拷贝null的值 null属于简单类型的数值,直接进行拷贝即可: 2018.12.11 代办二:怎么让input自适应宽度? 这样是写下代办 ...

  6. 微信小程序 - 时间进度条功能

    关于答题类,或者一些游戏环节的小程序需要用到时间进度条,改功能怎么实现看下面源码 <view class='out' style='margin-top:10px'> <view c ...

  7. CodePush自定义更新弹框及下载进度条

    CodePush 热更新之自定义更新弹框及下载进度 先来几张弹框效果图 非强制更新场景 image 强制更新场景 image 更新包下载进度效果 image 核心代码 这里的热更新Modal框,是封装 ...

  8. css3实现loading效果--当页面加载过程中显示Loading的进度条,全部加载完成之后进度条消失

    一个页面等图片资源全部加载完成,会需要很长时间,用户体验会很差,所以我们需要loading来掩盖这个漫长的过程! emmm,定时器?写个定时器还要清除,万一造成内存泄露?定时器之间还会互相影响,呼呼呼 ...

  9. Vue/React圆环进度条

    数据展示,一直是各行各业乐此不疲的需求,具体到前端开发行业,则是各种各种图表数据展示,各种表格数据展示,烦不胜烦(繁不胜繁)! 前几天刚做了折线图.柱状图.饼状图之类的图表数据展示效果,今天又碰到了类 ...

随机推荐

  1. Oracle多表连接查询

    连接:将一张表中的行按照某种条件和另一张表中的行连接起来形成一个新行的的过程. 根据连接查询返回的结果,分为3类: 内连接(inner join) 外连接(outer join) 交叉连接(cross ...

  2. Java进阶篇(六)——Swing程序设计(下)

    三.布局管理器 Swing中,每个组件在容器中都有一个具体的位置和大小,在容器中摆放各自组件时很难判断其具体位置和大小,这里我们就要引入布局管理器了,它提供了基本的布局功能,可以有效的处理整个窗体的布 ...

  3. 【转】rinex

         RINEX(Receiver INdependent Exchange)格式是与接收机无关的数据交换格式,该格式采用文本文件存储数据,数据记录格式与接收机的制造厂商和具体型号无关.RINEX ...

  4. JavaSE基础篇—数据类型和运算符

       本章知识点内容概括 数据类型:  1.基本数据类型 数值型 整数类型 byte(128~127),占1个字节的储存间 short(-2^15~2^15-1),占2个字节 int(默认类型-2^3 ...

  5. 从程序员的角度设计一个Java的神经网络

    欢迎大家前往云+社区,获取更多腾讯海量技术实践干货哦~ 来自维基百科: 人工神经网络(ANN)或连接系统是受生物神经网络启发构成生物大脑的计算系统.这样的系统通过考虑例子来学习(逐步提高性能)来完成任 ...

  6. jQuery中的选择器及筛选器

    1.jQuery的介绍 1.jQuery是继prototype之后又一个优秀的Javascript框架.其宗旨是--WRITE LESS,DO MORE! 2.它是轻量级的js库,这是其它的js库所不 ...

  7. CSS中的选择器之html选择器和伪类选择器

    1.html选择器(标签选择器) 基本语法: html标签名称{ 属性名:属性值; 属性名:属性值; } 继续在上面的代码中做修改,实例代码: <!DOCTYPE html> <ht ...

  8. 安装基准测试工具sysbench

    下载地址: http://pan.baidu.com/s/16KhJ4 解包 tar -zxvf sysbench-0.4.12.tar.gz 进入源码文件夹 cd sysbench- 执行autog ...

  9. python中的各种转化

    1.数之间的转化 #浮点型to整型 >>> int(5.6) 5 #整型to浮点型 >>> float(5) 5.0 2.数与字符串 #字符串to整型 >&g ...

  10. CentOS7安装MySQL的方法之RPM包方式

        CentOS7安装MySQL的方法之RPM包方式