通过最近的研究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 页面加载控件的更多相关文章

  1. 发布我的图片预加载控件YPreLoadImg v1.0

    介绍 大家好!很高兴向大家介绍我的图片预加载控件YPreLoadImg.它可以帮助您预加载图片,并且能显示加载的进度,在预加载完成后调用指定的方法. YPreLoadImg控件由一个名为PreLoad ...

  2. WinForm的延时加载控件概述

    这篇文章主要介绍了WinForm的延时加载控件,很实用的技巧,在C#程序设计中有着比较广泛的应用,需要的朋友可以参考下   本文主要针对WinForm的延迟加载在常用控件的实现做简单的描述.在进行C# ...

  3. 解决tableView中cell动态加载控件的重用问题

    解决tableView中cell动态加载控件的重用问题 tableView的cell,有时候需要在运行时取得对应的数据后才能够动态的创建该cell中的控件并加载到该cell中,此时,你一定会遇到重用问 ...

  4. uGUI动态加载控件位置错误

    最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ...

  5. uGUI动态加载控件位置错误(转自:https://www.cnblogs.com/mezero/p/4542939.html)

    最近在使用uGUI时遇到了一个问题,在此记录一下.在Canvas的Render Mode设置为Screen Space-Overlay模式时,动态加载控件是不会发生问题的.但是在Screen Spac ...

  6. jQuery Mobile中的页面加载与跳转机制

    第一次做用jQuery Mobile做东西,发现一些跟平时的思维习惯不太一样的.其中这个框架的页面加载机制便是其中一个.如果不明白其中的奥秘,往往会出现一些让人摸不着头脑的怪现象,比如页面进入后点击按 ...

  7. [iOS微博项目 - 1.8] - 各种尺寸图片加载 & 控件不显示研究

    A. 图片的加载:  [UIImage imageNamed:@"home"];  加载png图片    一.非retina屏幕  1.3.5 inch(320 x 480)  * ...

  8. 每天进步一点点-WPF-根据数据类型加载控件

    目的,根据数据类型的不同,动态的加载适用于不同数据类型的控件(布局) 原理:为自定义的数据类型添加数据魔板,绑定的时候绑定这些数据类型的实例. 例子: 数据类型: 数据模板: <DataTemp ...

  9. ListView 刷新加载控件

    1.MaterialRefreshLayout刷新加载: 导入依赖: compile 'com.cjj.materialrefeshlayout:library:1.3.0' 布局 <com.c ...

随机推荐

  1. pomelo源代码分析(一)

    千里之行始于足下,一直说想了解pomelo,对pomelo有兴趣,但一直迟迟没有去碰,尽管对pomelo进行源代码分析,在网络上肯定不止我一个,已经有非常优秀的前辈走在前面,如http://golan ...

  2. 【POJ 1741】Tree

    Tree Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 11570   Accepted: 3626 Description ...

  3. Semaphore实现Andoird版源代码剖析

    Semaphore是一个计数的信号量.从概念上来说,信号量维持一组许可(permits).acquire方法在必须的时候都会堵塞直到有一个许可可用,然后就会拿走这个许可.release方法加入一个许可 ...

  4. 2014 Multi-University Training Contest 1 - J Rating

    题目链接: pid=4870">http://acm.hdu.edu.cn/showproblem.php?pid=4870 题目大意: 题意:一个人注冊两个账号,初始rating都是 ...

  5. (7)基于hadoop的简单网盘应用实现3

    一.login.jsp登陆界面实现 解压bootmetro-master.zip,然后将\bootmetro-master\src\下的assets目录复制到project里. bootmetro下载 ...

  6. 每日算法之三十八:Anagrams

    Given an array of strings, return all groups of strings that are anagrams. Note: All inputs will be ...

  7. Eclipse中的Maven项目报Unbound classpath variable错误

    今天更新了最新版的Eclipse luna 4.4版本号,svn更新了项目后,系统一直报错,经查看在Problems窗体中发现一堆错误.提演示样例如以下:     Unbound classpath ...

  8. 腾讯视频QLV格式转换mp4的方法

    腾讯视频QLV格式转换mp4的方法不知道大家知不知道用?喜欢用腾讯视频的朋友应该都知道腾讯视频单独搞出了个QLV格式文件,只能用腾讯独有的腾讯视频软件才能播放,就算用格式工厂转换也不行,那么腾讯视频的 ...

  9. 使用Django创建简易Blog

    网上看了个例子,但是自己却运行不同,最后终于知道了原因,记录下来.原来没有给settings.py里的INSTALLED_APPS添加blog.就像这样: 这是一个手把手的实例教程,本来学习笔记一样, ...

  10. Ubuntu下将vim配置为Python IDE(转)

    工欲善其事,必先利其器. 配置好了Django的环境,该把vim好好配置一下当做python的IDE来用. 在Windows下用惯了各种现成的工具,转到Linux下,一下没了头绪……好歹google出 ...