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

首頁 > 學院 > 開發設計 > 正文

自定義下拉刷新簡單原理實現

2019-11-09 14:48:49
字體:
來源:轉載
供稿:網友

下拉刷新原理的話看下面的圖:

下面說一下具體的布局實現:

RelativeLayout

  RelativeLayout

    imageview

1RetiveLayout --最外層父布局---scrollTo方法移動的就是他,可以以此帶到所有的viewgroup移動 

(對于layout采用scrollTo實際上是移動他的所有子viewGroup或view)所以還要在外面包一層

注意后期layout.scrollTo()調用的就是這個父布局

2Retivelayout--包裹所有需要移動操作的view

需要做如下處理

android:layout_height="200px"android:layout_marginTop="-200px"如上面的圖所示,把其top刷新欄給隱藏了

3view 具體需要移動的view

只要靜靜的被移動就好了

2下面來露一下代碼層的操作

其實最主要的還就是調用以下TouchEvent的方法了

需要簡單說明以下montionevent的getAction的幾個類型

MotionEvent.down:step1手指按下時候就會被調用,適合記錄初始值

lastY =ev.getRawY();

MotionEvent.move:step2手指移動過程中會被調用,適合處理滑動操作

offsetY=(ev.getRawY()-lastY);  if(200>offsetY) {   layout.scrollTo(layout.getLeft(), layout.getTop() - (int) offsetY);  }

MotionEvent.up:step3手指抬起的時候就會被調用,適合處理執行或撤銷的邏輯操縱

if(offsetY<70){            layout.scrollTo(layout.getLeft(), layout.getTop());}                else {            layout.scrollTo(layout.getLeft(), layout.getTop()-200);    new Thread(new Runnable() {        @Override        public void run() {            refreshData();        }    }).start();}注意scrollTo操作是UI操作,如果需要刷新要新開一個線程

4下面是關于刷新操作,就是記得結束了把下拉的標簽回彈上去

try {    Thread.sleep(3000);} catch (InterruptedException e) {    e.PRintStackTrace();}layout.scrollTo(layout.getLeft(), layout.getTop());


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥芬河市| 太保市| 改则县| 上林县| 萝北县| 正宁县| 海原县| 桓仁| 扎囊县| 田阳县| 襄城县| 成安县| 罗江县| 拜泉县| 星座| 蓬溪县| 顺平县| 靖西县| 古丈县| 顺义区| 获嘉县| 澄江县| 叶城县| 连山| 通辽市| 广平县| 仁布县| 越西县| 屯昌县| 蓝山县| 鄱阳县| 根河市| 廉江市| 克东县| 双峰县| 普格县| 福泉市| 博客| 拉萨市| 江孜县| 田林县|