(这个是好久之前已经写过的代码,纯粹再次搬过来这边分享一下。)
之前遇到有个需求是要判断一个View是否被其他View所遮挡,即判断一个View是否在屏幕中完全显示,能完全被看到。上网搜了很多都没什么结果,然后自己研究了一下,且经过多重考虑测试,写了如下代码,希望对大家有帮助。具体看代码,不多赘述。
public boolean isViewCovered(final View view) {
View currentView = view;
Rect currentViewRect = new Rect();
boolean partVisible = currentView.getGlobalVisibleRect(currentViewRect);
boolean totalHeightVisible = (currentViewRect.bottom - currentViewRect.top) >= view.getMeasuredHe