效果如圖:
原始碼已上傳至我的資源 即:自定義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...