国产探花免费观看_亚洲丰满少妇自慰呻吟_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ā)表
主站蜘蛛池模板: 太谷县| 格尔木市| 泸溪县| 泸西县| 贵南县| 青龙| 新津县| 肥乡县| 高淳县| 平阴县| 荥阳市| 化州市| 德化县| 陇西县| 深水埗区| 宁波市| 高邑县| 清水县| 桐柏县| 吉首市| 大荔县| 霞浦县| 莎车县| 阜城县| 惠安县| 罗定市| 泽普县| 汨罗市| 开阳县| 洛扎县| 洛浦县| 达拉特旗| 丰台区| 江津市| 固镇县| 泊头市| 屯留县| 内乡县| 诏安县| 朔州市| 西安市|