国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

MUI進行APP混合開發實現下拉刷新和上拉加載 原創

2019-12-12 01:41:21
字體:
來源:轉載
供稿:網友

首先,我們的環境是使用HBuilder通過MUI開發APP,這種混合開發適合安卓和蘋果兩個平臺,本次我們給大家寫的代碼是把上拉加載和下拉刷新單獨分離開,一起來學習下。

為實現下拉刷新功能,大多H5框架都是通過DIV模擬下拉回彈動畫,在低端android手機上,DIV動畫經常出現卡頓現象(特別是圖文列表的情況); 通過雙webview解決這個DIV的拖動流暢度問題;拖動時,拖動的不是div,而是一個完整的webview(子webview),回彈動畫使用原生動畫;在iOS平臺,H5的動畫已經比較流暢,故依然使用H5方案。兩個平臺實現雖有差異,但經過封裝,可使用一套代碼實現下拉刷新。

第一步: 創建子頁面,因為拖動的其實是個子頁面的整體

mui.init({ 	subpages:[{ 	url:pullrefresh-subpage-url,//下拉刷新內容頁面地址 	id:pullrefresh-subpage-id,//內容頁面標志	 styles:{ top:subpage-top-position,//內容頁面頂部位置,需根據實際頁面布局計算,若使用標準mui導航,頂部默認為48px; .....//其它參數定義 	 } 	}] });

第二步:內容頁面需按照如下DOM結構構建

<!--下拉刷新容器--><div id="pullrefresh" class="mui-content mui-scroll-wrapper">  <div class="mui-scroll">    <!--數據列表-->    <ul class="mui-table-view mui-table-view-chevron">      <li class="mui-table-view-cell">1</li>    </ul>  </div></div> 	 

第三步:通過mui.init方法中pullRefresh參數配置下拉刷新各項參數

mui.init({ 	pullRefresh : { 		container:"#pullrefresh",//下拉刷新容器標識,querySelector能定位的css選擇器均可,比如:id、.class等 			down : {			contentdown : "下拉可以刷新",//可選,在下拉可刷新狀態時,下拉刷新控件上顯示的標題內容 			contentover : "釋放立即刷新",//可選,在釋放可刷新狀態時,下拉刷新控件上顯示的標題內容 			contentrefresh : "正在刷新...",//可選,正在刷新狀態時,下拉刷新控件上顯示的標題內容 			callback : fn //必選,刷新函數,根據具體業務來編寫,比如通過ajax從服務器獲取新數據;		 } } });

第四步:設置執行函數

function fn() {	 //業務邏輯代碼,比如通過ajax從服務器獲取新數據; ...... //注意,加載完新數據后,必須執行如下代碼,注意:若為ajax請求,則需將如下代碼放置在處理完ajax響應數據之后 		 	 mui('#pullrefresh').pullRefresh().endPulldownToRefresh(); //這行代碼會隱藏掉 正在加載... 容器	 }

以上就是關于下拉刷新的MUI寫法以及相關的function 函數,下面來看看下拉加載:

第一步,第二步 和下拉刷新的一樣

第三步:通過mui.init方法中pullRefresh參數配置下拉刷新各項參數

mui.init({   pullRefresh : {     container:"#pullrefresh",//待刷新區域標識,querySelector能定位的css選擇器均可,比如:id、.class等     up : {       contentrefresh : "正在加載...",//可選,正在加載狀態時,上拉加載控件上顯示的標題內容       contentnomore:'沒有更多數據了',//可選,請求完畢若沒有更多數據時顯示的提醒內容;       callback : fn //必選,刷新函數,根據具體業務來編寫,比如通過ajax從服務器獲取新數據;     }   } });

第四步:設置執行函數

function fn() {   //業務邏輯代碼,比如通過ajax從服務器獲取新數據; ...... //注意,加載完新數據后,必須執行如下代碼,true表示沒有更多數據了,  兩個注意事項: //1、若為ajax請求,則需將如下代碼放置在處理完ajax響應數據之后 //  2、注意this的作用域,若存在匿名函數,需將this復制后使用     var _this = this;     _this.endPullupToRefresh(true|false); }

上面就是上拉加載這個代碼的詳細寫法以及函數。

本次我們分開給大家把下拉刷新和上拉加載都給大家分享了,如果有任何不明白了地方,可以在下面的留言地方留言討論。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 肇东市| 邯郸市| 襄垣县| 天长市| 靖边县| 深州市| 开鲁县| 万荣县| 泾源县| 密山市| 绵阳市| 鹿泉市| 石河子市| 夏邑县| 库尔勒市| 子洲县| 康定县| 井研县| 兴安盟| 铜陵市| 池州市| 通化县| 囊谦县| 沙洋县| 奈曼旗| 郧西县| 和平区| 武平县| 天峻县| 航空| 荔浦县| 新疆| 化隆| 桐城市| 宜黄县| 阳朔县| 英德市| 全州县| 喜德县| 东乡族自治县| 太白县|