android 判断控件是否在屏幕范围内 是否可见

项目开发中,不免会用到动画。而动画展示的展示效果,既是当控件在屏幕范围内可见时,动画才执行,关键点就是判断每时刻控件是否可见:

// 监听屏幕滑动状态-当控件可见时,执行动画
Point p = new Point();
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];
aqiLine.getLocationInWindow(location);
if (aqiLine.getLocalVisibleRect(rect)) {
// 控件在屏幕可见区域
aqiLine.setAQILinemark(135);
} else {
// 控件已不在屏幕可见区域(已滑出屏幕)
}

注:代码中的aqiLine既是要管控的控件!

你可能感兴趣的:(Android)