有时有些需求要求开发判断View是否在手机屏幕的显示范围内。例如:列表中广告的曝光,开始虽然请求到广告,但是广告在列表的底部,超出了手机屏幕的范围,不能上报,当用户向上滑动,看到了广告才要求上报。
常用方法:
1.Ad.getVisibility( )
2.Ad.isShown()
3.Ad.getLocalVisibilityRect(Rect r)
4.Ad.getGlobalVisibilityRect(Rect r)
一. getVisibility()方法
根据View源码可以看出,getVisibility( )方法的返回值为
0 VISIBLE 表示View可见
4 INVISIBLE 表示View不可见,但保留View占的位置
8 GONE 表示View不可见,不保留View的位置
Note:view.setVisibility(View.VISIBLE)后ÿ