В настоящее время я пытаюсь найти значение y заданного c элемента утилизатора на экране, а не значение y в представлении утилизатора. В качестве примера я хотел бы знать, когда элемент утилизатора имеет значение 0 (в верхней части окна утилизатора). Выполнение этого для первого элемента работает нормально, а для n-го элемента - нет. Для некоторого фона в настройке представления это представление переработчика, в котором есть смешанные элементы во фрагменте в действии. Я делаю свои вычисления в методе onScrolled RecyclerView.OnScrollListener ()
val topChild = recyclerView.getChildAt(0)
val pos = recyclerView.getChildAdapterPosition(topChild)
val child = adapter.items.get(pos)
if(child is mySpecialListItem){
// check y position here
}
Мой вопрос заключается в том, как получить позицию y n-го элемента в представлении рециркулятора относительно экрана, а не в представление рециркулятора?
child.y // works fine when the first element not the nth
val outRect = IntArray(2)
child.getLocationInWindow(outRect) // never gets to 0
Я также попытался отследить прокрутку общей суммы и вычесть ее из child.y, но она не равна 0 в правильной позиции, то же самое с вычитанием суммы прокрутки из outRect [ 1].
Спасибо за помощь.