У меня есть пользовательский вид, который я хочу вставить в различные действия, содержащие просмотр в режиме рециркуляции / просмотр в виде прокрутки. Также я хочу отслеживать, просматривается ли пользовательский вид (поступает в видимый порт). Поэтому я использую Google Analytics для отслеживания и отправки события, когда дело доходит до порта просмотра с помощью Tree Observer.
private fun addScrollListener(track: () -> Unit) {
this.rootView.viewTreeObserver.addOnScrollChangedListener {
val scrollBounds = Rect()
this.getHitRect(scrollBounds);
if (this.getLocalVisibleRect(scrollBounds)) {
track()
}
}
}
Выше код работает нормально, но я хочу отправить событие через 250 мс не сразу, и я не могу использовать обозреватель дерева. Как я могу этого добиться ?. Я хочу сделать его модульным, чтобы мой пользовательский вид знал, что он виден в течение> 250 мс.