博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Flex【原创】移动设备相册图片浏览功能
阅读量:4657 次
发布时间:2019-06-09

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

Flex【原创】移动设备相册图片浏览功能 

 

Flex实现移动设备相册图片浏览功能

Flex4.6(IOS/Android)

首先贴上代码结构图:

 

分析2个重要视图:

1:ScanListView 作为firstView,用List呈现一个相片列表

View Code

 

2: ScanTabView 点击List的子元素进入手势左右切换浏览相片视图

View Code

 

分析2个重要组件:

1:ScanView 呈现照片的容器 封装手势左右切换相片的相关事件

View Code
movePrecision){
//right prev(); }else if((event.stageX - oldPoint.x) < movePrecision){
//left next(); } } } private function prev():void{ if(selectedIndex == 0) { selectedIndex = 0; active = false; mblbl.visible = true; pageNotice.source = firsttImgClass; PopUpManager.addPopUp(pageNotice,this); PopUpManager.centerPopUp(pageNotice); focusIn.end(); focusIn.play(); return; } selectedIndex--; imgFade.end(); imgFade.play(); } private function next():void{ if(selectedIndex == dataProvider.length - 1) { selectedIndex = dataProvider.length - 1; active = false; mblbl.visible = true; pageNotice.source = lastImgClass; PopUpManager.addPopUp(pageNotice,this); PopUpManager.centerPopUp(pageNotice); focusIn.end(); focusIn.play(); return; } selectedIndex++; imgFade.end(); imgFade.play(); } protected function pagePrompt_clickHandler(event:MouseEvent):void { active = true; focusOut.end(); focusOut.play(); pageNotice.source = null; mblbl.visible = false; } public function reset():void{ imgG.scaleX = 1.0; imgG.scaleY = 1.0; imgG.rotation = 0; } ]]>

 

2: ImageView 照片组件 封装对相片操作:缩放,旋转,平移的相关事件

View Code
maxScale) { m = this.transform.matrix; m.translate( -p.x, -p.y); m.scale(maxScale/this.scaleX, maxScale/this.scaleY); m.translate(p.x, p.y); this.transform.matrix = m; } else if (this.scaleX < minScale) { m = this.transform.matrix; m.translate( -p.x, -p.y); m.scale(minScale/this.scaleX, minScale/this.scaleY); m.translate(p.x, p.y); this.transform.matrix = m; } } private function handleRotate(e:TransformGestureEvent):void { var p:Point = this.localToGlobal(new Point(e.localX, e.localY)); p = parent.globalToLocal(p); var m:Matrix = this.transform.matrix; m.translate(-p.x, -p.y); m.rotate(e.rotation * (Math.PI / 180)); m.translate(p.x, p.y); this.transform.matrix = m; } private function handleDrag(e:TransformGestureEvent):void { this.x += e.offsetX; this.y += e.offsetY; } private function stopImgDrag():void{ if(!this.hasEventListener(TransformGestureEvent.GESTURE_PAN)) { this.addEventListener(TransformGestureEvent.GESTURE_PAN, handleDrag); this.imgDragEnable = false; } } private function startImgDrag():void{ if(this.hasEventListener(TransformGestureEvent.GESTURE_PAN)) { this.removeEventListener(TransformGestureEvent.GESTURE_PAN, handleDrag); this.imgDragEnable = true; } } ]]>

 

 效果图:

 

源码下载地址:

请大家多多指教~

转载于:https://www.cnblogs.com/loveFlex/archive/2012/04/28/2475312.html

你可能感兴趣的文章
瑞士 -- 德语 德国 -- 德语 卢森堡 -- 德语 奥地利 -- 德语 丹麦 -- 丹麦语 挪威 -- 挪威语 爱尔兰 -- 爱尔兰语 荷兰 -- 荷兰语 比利时 -- 荷兰语...
查看>>
背景颜色设置
查看>>
推荐一款帮助负载均衡/DNS轮询服务器组使用的文件同步工具
查看>>
常用的CSS命名规则
查看>>
约数个数定理&约数和定理
查看>>
Oracle EBS数据定义移植工具:FNDLOAD
查看>>
判素数
查看>>
extjs4.1:两个combobox的联动
查看>>
百度地图瓦片工具:定义坐标
查看>>
jmeter控制器--交替控制器
查看>>
hdu 5365 Run
查看>>
jap _spring _maven
查看>>
IIS principle
查看>>
Oracle 如何对中文字段进行排序
查看>>
第七章 数组实验
查看>>
003_ElasticSearch详解与优化设计
查看>>
windows hosts
查看>>
PHP 初学之登录查询小case
查看>>
Spring 4 官方文档学习(十五)CORS支持
查看>>
react学习笔记1
查看>>