判断scrollview滑动时view是否可见,基于获取View的getLocalVisibleRect来判断,当rect.getTop() == 0时,View为全部可见,为rect.getTop() 正值并且不等于0时View为部分可见,为负值时不可见。
/**
* 判断View是否可见
*
* @param target View
* @param judgeAll 为true时,判断View全部可见才返回true
* @return boolean
*/
public static boolean isVisibleLocal(View target, boolean judgeAll) {
Rect rect = new Rect();
target.getLocalVisibleRect(rect);
if (judgeAll) {
return rect.top == 0;
}else {
return rect.top >= 0;
}
}