Как определить абсолютную высоту View после вращения?
У меня есть основной layout, внутри которого есть еще один layout, который вращается. Внутри вращающегося layout есть view, расположенные по кругу. Задача – вычислить view который находится выше всех после вращения. Перепробовал все возможные вариации взятия Y с помощью Android API, но каждый раз получаю не то что нужно. Мне нужно получить абсолютную координату Y относительно экрана, или хотя бы относительно главного layout а не того в котором расположены view. У кого-нибудь есть идеи?
ivanessence, я попробовал подойти с другой стороны, вычисляя угол наклона вращающегося layout, но обнаружил что RotateAnimation не изменяет действительного значения свойства. Переписал на ObjectAnimator, хотя бы свойство теперь изменяется. Но вычислить высоту view все равно не получается.
Кроме translationX и translationY есть rotation и т.д., используйте то, что наиболее подходит.
После чего view изменит свои координаты не только визуально, но и физически, и соответственно при использовании методов getX() и getY() для view, Вы получите текущие координаты view относительно родительского layout и сможете определить, что выше, а что ниже.
getLocationOnScreen() всё таки решил задачу. Проблема была в методе осуществления анимации. RotateAnimation был использован как первый попавшийся вариант, что и сыграло злую шутку. Этот способ не зря считается устаревшим. Он изменяет положение view только визуально, но физически координаты не менялись.
Кому интересно, реализовывалась простая игра типа "Колесо фортуны", где поиск выпавшего результата производится через поиск наивысшего TextView, расположенного на "колесе". Реализация довольно костыльная и простенькая, но она такой и задумывалась.