/**
* 判斷當前view是否符合上報要求
* view可點擊,可見,設置了點擊監聽
*
* @param view
* @return
*/
private fun viewCanReport(view: View): Boolean {
if (view.getVisibility() == View.VISIBLE && (view.isClickable || view.isLongClickable) && view.hasOnClickListeners() && isVisible(view)) {
return true
}
return false
}
/**
* 判斷當前view是否可見
*/
private fun isVisible(v: View): Boolean {
return v.getLocalVisibleRect(Rect())
}
需要將當前頁面截圖上報,並且獲取當前頁面所有滿足上報條件的view
條件:
可見,且 可點擊(包括點擊和長按),且有設置點擊監聽器,且 view在當前頁面可見