网上说的方法乱七八糟,能用的就是自己算高度,其实sdk-9中,ScrollView已经加入了一个方法,能监听到是否已经不能滚动,稍加处理,就可以监听是否滑到底部了。
先上自定义的ScrollView方法:
import android.content.Context;
import android.util.AttributeSet;
import android.widget.ScrollView;
public class BottomScrollView extends ScrollView {
private OnScrollToBottomListener onScrollToBottom;
public BottomScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public BottomScrollView(Context context) {
super(context);
}
@Override
protected void onOverScrolled(int scrollX, int scrollY, boolean clampedX,
boolean clampedY) {
super.onOverScrolled(scrollX, scrollY, clampedX, clampedY);
if(scrollY != 0 && null != onScrollToBottom){
onScrollToBottom.onScrollBottomListener(clampedY);
}
}
public void setOnScrollToBottomLintener(OnScrollToBottomListener listener){
onScrollToBottom = listener;
}
public interface OnScrollToBottomListener{
public void onScrollBottomListener(boolean isBottom);
}
}
调用方法:
BottomScrollView scroll = (BottomScrollView)findViewById(R.id.id_scroll);
scroll.setOnScrollToBottomLintener(new OnScrollToBottomListener() {
@Override
public void onScrollBottomListener(boolean isBottom) {
// TODO Auto-generated method stub
Log.e("SCROLLVIEW", isBottom + "");
}
});
so easy,是不?