/**
* 判断当前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在当前页面可见