1.自定义一个scrollview
public class MyScrollView extends ScrollView {
public MyScrollView(Context context) {
super(context);
}
public MyScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
public MyScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
switch (ev.getAction()){
case MotionEvent.ACTION_MOVE:
if (mScrollListener!=null){
int contentHeight = getChildAt(0).getHeight();
int scrollHeight = getHeight();
int scrollY = getScrollY();
mScrollListener.onScroll(scrollY);
if (scrollY+scrollHeight>=contentHeight){
mScrollListener.onScrollToBottom();
}else{
mScrollListener.notBottom();
}
if (scrollY==0){
mScrollListener.onScrollToTop();
}
}
break;
}
requestDisallowInterceptTouchEvent(false);
return super.onTouchEvent(ev);
}
private ScrollListener mScrollListener;
public void setmScrollListener(ScrollListener mScrollListener) {
this.mScrollListener = mScrollListener;
}
public interface ScrollListener{
void onScrollToBottom();
void onScrollToTop();
void onScroll(int scrollY);
void notBottom();
}
}