国产探花免费观看_亚洲丰满少妇自慰呻吟_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());


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 昌吉市| 元江| 谢通门县| 卓资县| 桂林市| 巫山县| 河南省| 筠连县| 丹阳市| 荥经县| 安康市| 梨树县| 民县| 江油市| 师宗县| 栾城县| 内丘县| 轮台县| 海宁市| 呼伦贝尔市| 县级市| 镇远县| 沙坪坝区| 遵化市| 伽师县| 德庆县| 台南县| 东兴市| 博客| 融水| 新河县| 镇宁| 科尔| 白玉县| 连江县| 滦平县| 平潭县| 安徽省| 临猗县| 玉门市| 临夏县|