zoukankan      html  css  js  c++  java
  • 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>


    版权声明:本文博主原创文章。博客,未经同意不得转载。

  • 相关阅读:
    go开发 modules 的使用和代理
    利用 nodejs 解析 m3u8 格式文件,并下 ts 合并为 mp4
    别再@官方啦,普天同庆加国旗
    vue基于 element ui 的按钮点击节流
    react-router 5.0 的鉴权
    slot 组件的内部传值 v-slot 的使用
    javascript 写一个ajax 自动拦截,并下载数据
    Linux 命令大全
    http 基础
    MongoDB Shell (mongo)
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4886054.html
Copyright © 2011-2022 走看看