自定義scrollview彈性布局

2021-07-27 11:38:37 字數 1028 閱讀 3407

public class dailscrollview extends scrollview

public dailscrollview(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

description 自定義水平 scrollview 水平滑動 public class cushoriscrollview extends horizontalscrollview public cushoriscrollview context context,attributeset at...

scrollview自定義分頁大小

cgpoint nearesttargetoffsetforoffset cgpoint offset withvelocity cgpoint velocity cgfloat pagesize self.cellwidth self.padding cgfloat targetx cgfloat...

scroll view實現自定義下拉重新整理

refresher enabled true 開啟下拉重新整理 refresher triggered 設定當前下拉重新整理狀態,true 表示下拉重新整理已經被觸發,false 表示下拉重新整理未被觸發 bindrefresherrefresh 自定義下拉重新整理被觸發事件 bindscrollt...