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

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

自定義下拉刷新簡單原理實現(xiàn)

2019-11-09 13:57:52
字體:
供稿:網(wǎng)友

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

下面說一下具體的布局實現(xiàn):

RelativeLayout

  RelativeLayout

    imageview

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

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

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

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

需要做如下處理

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

3view 具體需要移動的view

只要靜靜的被移動就好了

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

其實最主要的還就是調(diào)用以下TouchEvent的方法了

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

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

lastY =ev.getRawY();

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

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

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

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下面是關(guān)于刷新操作,就是記得結(jié)束了把下拉的標(biāo)簽回彈上去

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


發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 易门县| 呼玛县| 房山区| 噶尔县| 旺苍县| 林甸县| 岚皋县| 通榆县| 绥滨县| 安阳市| 孝感市| 辽阳县| 馆陶县| 玛纳斯县| 昭通市| 喀喇沁旗| 南澳县| 岳阳市| 新河县| 措勤县| 清水河县| 海丰县| 博湖县| 鲁山县| 大足县| 都兰县| 大厂| 化德县| 东丽区| 双城市| 津南区| 息烽县| 松溪县| 海兴县| 张家界市| 泸水县| 武功县| 泸水县| 锦州市| 高淳县| 遂川县|