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 ...
随机推荐
- 访何红辉:谈谈Android源码中的设计模式
最近Android 6.0版本的源代码开放下载,刚好分析Android源码的技术书籍<Android源码设计模式解析与实战>上市,我们邀请到它的作者何红辉,来谈谈Android源码中的设计 ...
- zoj 2972 - Hurdles of 110m
题目:110米栏,运动员能够用三种状态跑,1状态耗体力且跑得快,2状态不消耗体力,3状态恢复体力且跑得慢. 体力上限是M,且初始满体力,如今想知到最小的时间跑全然程. 分析:dp,全然背包.题目是一个 ...
- hdu4738(双连通分量)
传送门:Caocao's Bridges 题意:n个岛,曹操在一些岛之间建了一些桥,每个桥上有一些士兵把守,周瑜只有一个炸弹只能炸掉一个桥,并能使一些岛被孤立出来,炸弹需要士兵带过去,士兵的数量不能小 ...
- C#语言实现ArcGIS数据源重置之Set Data Source功能
1.须要:依据选择的Mxd路径和目标数据源路径进行重置数据源.此处以(.Mdb为例): 主要利用到的接口: (1)IMapDocument (2)IMapControl2 (3)IWor ...
- IOS获取来电去电来电归属系统通知达到效果(一)
这里的原理是获得到呼叫系统通知,然后根据本地呼叫电话号码,相应的电话联系. 一世. 来电显示是不是在地址簿中的联系人, 这是当第一个加入一个临时的联系人在您的电话簿(它是创建一个新的接触,并保存相 ...
- 10招让你成为杰出的Java程序员(转)
如果你是一个热衷于技术的 Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出. 1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Ob ...
- UILabel iOS添加文本控件
UILabel这是iOS控制,这是UIView子类,只有在UIView文字显示功能的基础上加入.UILabel还查看课程和UIView类别似 //1.创建一个视图对象 //2.配置视图 ...
- 压缩js参数保存解决方法
angular.js 中 找到 if (typeof fn === 'function') 在 if (fn.length) { console.warn("此函数没有注入注解,将导致编译 ...
- [ACM] POJ 3259 Wormholes (bellman-ford最短路径,推断是否存在负权回路)
Wormholes Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 29971 Accepted: 10844 Descr ...
- wamp5中的apache不能启动,80端口被占用
在wamp中apache中的httpd.conf文件中 端口文件设置为8080 #Listen 12.34.56.78:8080Listen 8080