/**
* Created by malei on 2020/12/3
* Describe:专门检查指定组件是否在屏幕内
*/
public class ViewCheckUtils {
public static Boolean checkIsVisible(Context context, View view) {
// 如果已经加载了,判断广告view是否显示出来,然后曝光
int screenWidth = getScreenMetrics(context).x;
int screenHeight = getScreenMetrics(context).y;
Rect rect = new Rect(0, 0, screenWidth, screenHeight);
int[] location = new int[2];
view.getLocationInWindow(location);
if (view.getLocalVisibleRect(rect)) {
return true;
} else {
//view已不在屏幕可见区域;
return false;
}
}
/**
* 获取屏幕宽度和高度,单位为px
* @param context
* @return
*/
public static Point getScreenMetrics(Context context){
DisplayMetrics dm =context.getResources().getDisplayMetrics();
int w_screen = dm.widthPixels;
int h_screen = dm.heightPixels;
return new Point(w_screen, h_screen);
}
}