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>


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

  • 相关阅读:
    hive on spark:return code 30041 Failed to create Spark client for Spark session原因分析及解决方案探寻
    windows下大数据开发环境搭建(5)——Hive环境搭建
    kubernetes环境部署单节点redis
    kubernetes中有状态应用的优雅缩容
    欢迎关注我的知乎账号
    BCC和libbpf的转换
    BPF的可移植性和CO-RE (Compile Once – Run Everywhere)
    正则表达式
    正则表达式关键词解析
    正则表达式三种模式:贪婪模式、懒惰模式、独占模式
  • 原文地址:https://www.cnblogs.com/lcchuguo/p/4886054.html
Copyright © 2011-2022 走看看