自定義ScrollView,實現頭尾部的下拉 上拉

2021-07-24 15:42:21 字數 2009 閱讀 7632

效果如圖:

原始碼已上傳至我的資源 即:自定義scrollerview源**.rar

話不多說直接開始寫**:1.自定義 myscrollview 類繼承 scrollview

public

class

myscrollview

extends

scrollview

public

myscrollview(context context, attributeset attrs)

public

myscrollview(context context, attributeset attrs, int defstyleattr)

3.獲取子檢視

@override

protected

void

onfinishinflate()

}

4.重寫ontouchevent()方法

@override

public

boolean

ontouchevent(motionevent ev)

//獲取當前y軸方向的座標(相較於當前檢視)

int eventy = (int) ev.gety();

switch (ev.getaction())

//給檢視重新布局

childview.layout(childview.getleft(), childview.gettop() + dy / 2, childview.getright(), childview.getbottom());

lasty = eventy;

}break;

case motionevent.action_up:

if (isneedanimation())

@override

public

void

onanimationend(animation animation)

@override

public

void

onanimationrepeat(animation animation)

});}

break;

}return

super.ontouchevent(ev);

}

5.重寫onintercepttouchevent()方法

/**

*@param ev

*@return 如果返回值為true,表示攔截子檢視的處理。如果返回false,表示不攔截

*/@override

public

boolean

onintercepttouchevent(motionevent ev)

lasty=eventy;

lastx=eventx;

break;

}return isintercet;

}

6.在布局中使用自定義的scrollview

android:layout_margintop="3dp"

android:layout_width="match_parent"

android:layout_height="match_parent">

com.example.chenjunmei.myscrollview.myscrollview>

好了完成~

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

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

自定義水平ScrollView

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

自定義scrollview彈性布局

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