air mobile andriod ios 页面加载控件
通过最近的研究flex 书写android 、ios申请书,我们遇到了一个问题加载页面,我们用flex sdk 12,air 15 无级似android ListView寻呼模块。所以,我和我的同事们写了一,效果依然能够,拖动刷新,向下拖动负载。走,假设你有更好的通知我一声,代码就直接帖出来吧。
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
applicationComplete="init()"> <fx:Declarations>
<s:ArrayCollection id="_ac"/>
<s:Fade id="_fadeIn" alphaFrom="0" alphaTo="1" duration="500"/>
</fx:Declarations> <fx:Script>
<![CDATA[
import mx.events.PropertyChangeEvent; private static const PADDING:uint = 15; private function init():void {
updateList();
_list.dataGroup.addEventListener(PropertyChangeEvent.PROPERTY_CHANGE, handleScroll);
} private function handleScroll(event:PropertyChangeEvent):void {
if (_busy.visible || _busy_x.visible ||
event.source != event.target ||
event.property != 'verticalScrollPosition') {
return;
}
//下拉 载入
if (event.newValue < -3 * PADDING &&
event.oldValue >= -3 * PADDING) {
_hintDown.visible = true;
_hintUp.visible = false;
_fadeIn.play([_hintDown]);
} else if (event.newValue < -6 * PADDING &&
event.oldValue >= -6 * PADDING) {
_hintDown.visible = false;
_hintUp.visible = true;
_fadeIn.play([_hintUp]);
} else if (event.newValue >= -6 * PADDING &&
event.oldValue < -6 * PADDING) {
_hintDown.visible = true;
_hintUp.visible = false;
_fadeIn.play([_hintDown]);
} else if (event.newValue >= -3 * PADDING &&
event.oldValue < -3 * PADDING) {
_hintDown.visible = false;
_hintUp.visible = false;
} //上拉刷新 载入
if (event.newValue < 3 * PADDING &&
event.oldValue >= 3 * PADDING) {
_hintDown_up.visible = false;
_hintUp_up.visible = false;
}
else if (event.newValue < 6 * PADDING &&
event.oldValue >= 6 * PADDING) {
_hintDown_up.visible = false;
_hintUp_up.visible = false;
}
else if (event.newValue >= 6 * PADDING &&
event.oldValue < 6 * PADDING) {
_hintDown_up.visible = false;
_hintUp_up.visible = true;
_fadeIn.play([_hintUp_up]);
}
else if (event.newValue >= 3 * PADDING &&
event.oldValue < 3 * PADDING) {
_hintDown_up.visible = true;
_hintUp_up.visible = false;
_fadeIn.play([_hintDown_up]);
}
} private function startLoading(event:MouseEvent):void { //下拉 载入方法
if (_hintUp.visible) {
_busy.includeInLayout = _busy.visible = true;
if(_hintDown.visible)
_busy_x.includeInLayout = _busy_x.visible = true;
setTimeout(updateList, 1000);
}
_hintDown.visible = false;
_hintUp.visible = false; //上拉 载入方法
if (_hintUp_up.visible) {
_busy_x.includeInLayout = _busy_x.visible = true;
if(_hintDown_up.visible)
_busy_x.includeInLayout = _busy_x.visible = true;
setTimeout(updateList, 1000);
}
_hintDown_up.visible = false;
_hintUp_up.visible = false;
} private function updateList():void {
_ac.source = new Array();
for (var i:int = 0; i < 10; i++) {
_ac.source.push(Math.random());
}
_ac.refresh();
_busy.includeInLayout = _busy.visible = false;
_busy_x.includeInLayout = _busy_x.visible = false;
} ]]>
</fx:Script> <s:VGroup width="100%" >
<s:HGroup id="_busy" visible="false" width="100%" horizontalAlign="center"
includeInLayout="false" verticalAlign="middle">
<s:BusyIndicator height="30"/>
<s:Label text="载入数据..." fontSize="20"/>
</s:HGroup> <s:List id="_list" width="100%" contentBackgroundColor="#FFFFFF" dataProvider="{_ac}"
mouseUp="startLoading(event)"/>
<s:HGroup id="_busy_x" visible="false" width="100%" horizontalAlign="center"
includeInLayout="false" verticalAlign="middle">
<s:BusyIndicator height="30"/>
<s:Label text="载入数据..." fontSize="20"/>
</s:HGroup>
</s:VGroup> <s:Label id="_hintDown" visible="false" width="100%" paddingTop="{PADDING}" text="↓ 下拉刷新 ↓" fontSize="20"
textAlign="center"/> <s:Label id="_hintUp" visible="false" width="100%" paddingTop="{PADDING}" text="↑ 松手刷新 ↑" fontSize="20"
textAlign="center"/> <s:Label id="_hintDown_up" visible="false" bottom="0" width="100%" text="↑ 上拉刷新 ↑" fontSize="20"
textAlign="center"/> <s:Label id="_hintUp_up" visible="false" bottom="0" width="100%" text="↓ 松手刷新 ↓" fontSize="20"
textAlign="center"/> </s:Application>
版权声明:本文博主原创文章。博客,未经同意不得转载。
air mobile andriod ios 页面加载控件的更多相关文章
- 发布我的图片预加载控件YPreLoadImg v1.0
介绍 大家好!很高兴向大家介绍我的图片预加载控件YPreLoadImg.它可以帮助您预加载图片,并且能显示加载的进度,在预加载完成后调用指定的方法. YPreLoadImg控件由一个名为PreLoad ...
- WinForm的延时加载控件概述
这篇文章主要介绍了WinForm的延时加载控件,很实用的技巧,在C#程序设计中有着比较广泛的应用,需要的朋友可以参考下 本文主要针对WinForm的延迟加载在常用控件的实现做简单的描述.在进行C# ...
- 解决tableView中cell动态加载控件的重用问题
解决tableView中cell动态加载控件的重用问题 tableView的cell,有时候需要在运行时取得对应的数据后才能够动态的创建该cell中的控件并加载到该cell中,此时,你一定会遇到重用问 ...
- uGUI动态加载控件位置错误
最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ...
- uGUI动态加载控件位置错误(转自:https://www.cnblogs.com/mezero/p/4542939.html)
最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ...
- jQuery Mobile中的页面加载与跳转机制
第一次做用jQuery Mobile做东西,发现一些跟平时的思维习惯不太一样的.其中这个框架的页面加载机制便是其中一个.如果不明白其中的奥秘,往往会出现一些让人摸不着头脑的怪现象,比如页面进入后点击按 ...
- [iOS微博项目 - 1.8] - 各种尺寸图片加载 & 控件不显示研究
A. 图片的加载: [UIImage imageNamed:@"home"]; 加载png图片 一.非retina屏幕 1.3.5 inch(320 x 480) * ...
- 每天进步一点点-WPF-根据数据类型加载控件
目的,根据数据类型的不同,动态的加载适用于不同数据类型的控件(布局) 原理:为自定义的数据类型添加数据魔板,绑定的时候绑定这些数据类型的实例. 例子: 数据类型: 数据模板: <DataTemp ...
- ListView 刷新加载控件
1.MaterialRefreshLayout刷新加载: 导入依赖: compile 'com.cjj.materialrefeshlayout:library:1.3.0' 布局 <com.c ...
随机推荐
- UVa 10616 - Divisible Group Sums
称号:给你n数字.免去m一个,这使得他们可分割d.问:有多少种借贷. 分析:dp,D01背包. 背包整数分区. 首先.整点d.则全部数字均在整数区间[0,d)上: 然后,确定背包容量,最大为20*10 ...
- Java使用Socket传输文件遇到的问题(转)
1.写了一个socket传输文件的程序,发现传输过去文件有问题.找了一下午终于似乎找到了原因,记录下来警示一下: 接受文件的一端,向本地写文件之前使用Thread.sleep(time)休息一下就解决 ...
- Ubuntu9.04更新源
1.sudo gedit /etc/apt/sources.list 编辑你的源列表,加入以下列表中你认为适合你的,拷贝到你的列表中,然后保存列表. Archive.ubuntu.com更新serve ...
- A Game of Thrones(12) - Eddard
The summons(['sʌm(ə)nz]召唤:传票) came in the hour before the dawn, when the world was still and grey. A ...
- Web工程师的工具箱 | 酷壳 - CoolShell.cn
Web工程师的工具箱 | 酷壳 - CoolShell.cn Web工程师的工具箱 2012年12月19日 陈皓 发表评论 阅读评论 30,168 人阅读 本文出自Ivan Zuzak 的&l ...
- I2C分析三
1 引言 IIC (Inter-Integrated Circuit1总线是一种由Philips公司开发的2线式串行总线,用于连接微控制器及其外围设备.它是同步通信的一种特殊形式,具有接口线少.控制方 ...
- Backbone.js 为复杂Javascript应用程序提供模型(models)、集合(collections)、视图(views)的结构
Backbone.js 为复杂Javascript应用程序提供模型(models).集合(collections).视图(views)的结构.其中模型用于绑定键值数据和 自定义事件:集合附有可枚举函数 ...
- Knockout应用开发指南 第二章:监控属性(Observables)
原文:Knockout应用开发指南 第二章:监控属性(Observables) 关于Knockout的3个重要概念(Observables,DependentObservables,Observabl ...
- Linux------创建和终止进程
创建进程: Linux创建两个步骤的新处理:fork()和exec().其中fork创建当前进程的能力(父进程)副本,那个孩子.父子进程只有PID不同.在这之后,该系统具有两个进程,运行相同的操作.父 ...
- 【转】C# String.Format数字格式化输出各种转换{0:N2} {0:D2} {0:C2}...
; //格式为sring输出 // Label1.Text = string.Format("asdfadsf{0}adsfasdf",a); // Label2.Text = & ...