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圆环进度条
数据展示,一直是各行各业乐此不疲的需求,具体到前端开发行业,则是各种各种图表数据展示,各种表格数据展示,烦不胜烦(繁不胜繁)! 前几天刚做了折线图.柱状图.饼状图之类的图表数据展示效果,今天又碰到了类 ...
随机推荐
- SpringMVC运行原理
一.SpringMVC运行原理图 二.相关接口解释 DispatcherServlet接口: Spring提供的前端控制器,所有的请求都有经过它来统一分发.在DispatcherServlet将请 ...
- HTTP常用方法
GET : 获取资源 get方法用来请求访问已被URI识别的资源. 请求 GET /index.html HTTP/1.1 HOST:www.baidu.com 响应 返回index.html的页面资 ...
- linux_目录结构
目录的作用是什么? 1. 归档和分类 2. 区分同名文件 什么是FHS? 目录层次标准,linux目录规范标准 linux系统目录有哪些特点? 1. 逻辑上所有目录都在 / 目录下,根目录是所有目录的 ...
- python_鸡兔同笼问题
鸡兔同笼问题 -- 今有雉兔同笼,上有三十五头,下有九十四足,问雉兔各几何? --鸡和兔在一个笼子里,从上面数,有35个头:从下面数,有94只脚.问笼中各有几只鸡和兔 如何逻辑整理? -- 鸡头和兔子 ...
- python_如何设置文件缓冲类型
案例: 将文件内容写入到硬件设备时候,使用系统调用,这类IO操作时间长,为了减小IO操作,通常会使用缓冲区(有足够多数据才能调用). 文件缓冲行为分为:全缓冲,行缓冲,无缓冲 如何解决? open(' ...
- Asp.net Core 入门实战
Asp.Net Core 是开源,跨平台,模块化,快速而简单的Web框架. Asp.net Core官网的一个合集,方便一次性Clone 目录 快速入门 安装 一个最小的应用 项目模板 路由 静态文件 ...
- Linux指令--df,du
linux中df命令的功能是用来检查linux服务器的文件系统的磁盘空间占用情况.可以利用该命令来获取硬盘被占用了多少空间,目前还剩下多少空间等信息. 1.命令格式: df [选项] [文件] 2.命 ...
- Servlet--继承HttpServlet写自己的Servlet
前面2篇关注的都是Servlet接口,在实际编码中一般不直接实现这个接口,而是继承HttpServlet类.因为j2e的包里面写好了GenericServlet和HttpServlet类来让我们简化编 ...
- bzoj 2208 [Jsoi2010]连通数
2208: [Jsoi2010]连通数 Time Limit: 20 Sec Memory Limit: 512 MB Description Input 输入数据第一行是图顶点的数量,一个正整数N ...
- linux下磁盘占用达到100%了,找不到哪些大文件耗尽了磁盘
Linux下的根分区使用率100%,但是查看/分区下的目录都不大,没有占用满,这该怎么处理? 重启是肯定有效的,目前处理情况:重新restart应用后,空间释放出来 1.lsof | grep del ...