彈性scrollview的實現

2021-07-10 11:53:29 字數 1059 閱讀 2292

public class stretchscrollview extends scrollview

public stretchscrollview(context context, attributeset attrs)

@override

protected void onfinishinflate()

}@override

protected void onlayout(boolean changed, int l, int t, int r, int b)

/*** 在觸控事件中, 處理上拉和下拉的邏輯

*/@override

public boolean dispatchtouchevent(motionevent ev)

int action = ev.getaction();

switch (action)

//計算手指移動的距離

float nowy = ev.gety();

int deltay = (int) (nowy - starty);

//是否應該移動布局

boolean shouldmove =

(canpulldown && deltay > 0)    //可以下拉, 並且手指向下移動

|| (canpullup && deltay < 0)    //可以上拉, 並且手指向上移動

|| (canpullup && canpulldown); //既可以上拉也可以下拉(這種情況出現在scrollview包裹的控制項比scrollview還小)

if (shouldmove)

break;

default:

break;

}return super.dispatchtouchevent(ev);

}/**

* 判斷是否滾動到頂部

*/private boolean iscanpulldown()

/*** 判斷是否滾動到底部

*/private boolean iscanpullup()

}

自定義scrollview彈性布局

public class dailscrollview extends scrollview public dailscrollview context context,attributeset attrs override protected void onfinishinflate overri...

scrollView實現輪播

1.2.brief 建立輪播,在tableview建立之後和資料載入後 3.4.void createcarousel 24.carousel.contentoffset cgpointmake screen w,0 25.26.27.carouselback addsubview carousel...

ScrollView反彈效果的實現

import android.content.context import android.graphics.rect import android.util.attributeset import android.view.motionevent import android.view.view ...