Android判斷view在屏幕可見


/**
* 判斷當前view是否在屏幕可見
*/
public static boolean getLocalVisibleRect(Context context, View view, int offsetY) {
Point p = new Point();
((Activity) context).getWindowManager().getDefaultDisplay().getSize(p);
int screenWidth = p.x;
int screenHeight = p.y;
Rect rect = new Rect(0, 0, screenWidth, screenHeight);
int[] location = new int[2];
location[1] = location[1] + UIUtils.dip2px(context, offsetY);
view.getLocationInWindow(location);
view.setTag(location[1]);//存儲y方向的位置
if (view.getLocalVisibleRect(rect)) {
return true;
} else {
return false;
}
}

經常配合滑動事件使用
scrollView.setOnScrollListener(new ObservableScrollView.OnScrollListener() {
@Override
public void onScrollStateChanged(ObservableScrollView view, int scrollState) {

}

@Override
public void onScroll(ObservableScrollView view, boolean isTouchScroll, int l, int t, int oldl, int oldt) {

}
});

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM