1.ListView
/**
* 判断listView到达顶部
* @return
*/
public boolean isListViewReachTop() {
boolean result=false;
if(getFirstVisiblePosition()==0){
View topChildView = getChildAt(0);
if (topChildView != null) {
result=topChildView.getTop()==0;
}
}
return result ;
}
/**
* 判断listView到达底部
* @return
*/
public boolean isListViewReachBottom() {
boolean result=false;
if (getLastVisiblePosition() == (getCount() - 1)) {
View bottomChildView = getChildAt(getLastVisiblePosition() - getFirstVisiblePosition());
if (bottomChildView != null) {
result= (getHeight() >= bottomChildView.getBottom());
}
}
return result;
}
2.0 WebView
/**
* 判断WebView到达顶部
* @return
*/
private boolean isScrollToTop(){
Logger.d("lx","getScrollY"+getScrollY());
return getScrollY()==0;
}
/**
* 判断WebView到达底部
* @return
*/
private boolean isScrollToButtom(){
boolean flag=false;
if(getContentHeight()*getScale()==getHeight()+getScrollY()){
flag=true;
}
return flag;
}
@Override
protected void onScrollChanged(int l, int t, int oldl, int oldt) {
super.onScrollChanged(l, t, oldl, oldt);
View view=getChildAt(0);
if(view!=null){
if(this.getHeight()+getScrollY()==view.getHeight()){
}
if(getScrollY()==0){
}
}
}