【Android】View显示可见属性分析

本文分析了Android中判断View是否在屏幕显示范围内的几种方法,包括getVisibility(), isShown(), getLocalVisibilityRect(Rect r)和getGlobalVisibilityRect(Rect r)。getVisibility()主要检查View的可见状态,而isShown()不仅考虑自身,还检查所有父View的可见性。getLocalVisibilityRect()和getGlobalVisibilityRect()则用于获取View的显示区域。注意,这些方法在实际应用中需要结合View的绘制状态和父View的可见性来正确判断。" 122601939,8098693,Nginx部署Vue项目实战与问题解决,"['vue.js', 'nginx', '前端开发']
摘要由CSDN通过智能技术生成

有时有些需求要求开发判断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)后ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值