public class ViewUtils {
private static class InitFactory {
private static final Rect RECT = new Rect();
}
/**
* 當前View是否對用戶可見
*/
public static boolean isVisibleToUser(View view) {
// 判斷當前View及其父View是否可見
boolean isShown = view.isShown();
// 判斷當前View所在的Window是否可見
boolean hasWindowFocus = view.hasWindowFocus();
boolean isWindowVisible = view.getWindowVisibility() == View.VISIBLE;
// 是否在屏幕的顯示區(qū)域內(nèi)
boolean globalVisible = view.getGlobalVisibleRect(InitFactory.RECT);
// 綜合判斷當前View是否可見
return isShown && hasWindowFocus && isWindowVisible && globalVisible;
}
}
如何判斷當前View對用戶是否可見?
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
相關(guān)閱讀更多精彩內(nèi)容
- 背景 最近在開發(fā)中遇到了一個問題。我們的app需要統(tǒng)計用戶的頁面路徑,也就是用戶使用各個頁面的情況。這就需要在不同...
- 項目中需要再fragment可見時再調(diào)用平臺接口重新獲取數(shù)據(jù),故需要判斷Fragment是否對用戶可見。原來僅僅只...
- 前言 最近在重構(gòu)項目時,導(dǎo)航滑動使用activity嵌套fragment,在fragment中需要判斷此fragm...
- 用MD5驗證文件的完整性!(僅僅通過代碼來判斷當前次的請求發(fā)送結(jié)束或者收到數(shù)據(jù)結(jié)束不可以的) 當客戶端上傳一個文件...