안드로이드
[Android Studio] ScrollView 방향 확인 법 응용. (코틀린)
개발_블로그
2024. 3. 23. 14:57
전에 포스팅 했던 ScrollView 의 방향을 활용해서 응용할 수 있는 코드를 포스팅 하겠습니다.
활용 내용은 특정 위치를 계산해서 스크롤이 그 특정 뷰 보다 내려가는지 올라가는지 활용하는 것이 목표입니다.
특정 뷰의 좌표를 알 수 있는 방법으로 getLocationOnScreen 을 활용한다.
val location = IntArray(2) // Array를 준비.
textView.getLocationOnScreen(location)
val x = location[0] // textView 의 x 값
val y = location[1] // textView 의 y 값
이제 응용한다면
내려가면서 특정 뷰의 위치를 지날 때와 , 올라가면서 특정 뷰의 위치를 지날때를 분기로 처리할 수 있다.
scrollView.setOnScrollChangeListener { v, scrollX, scrollY, oldScrollX, oldScrollY ->
val location = IntArray(2)
textView.getLocationOnScreen(location)
val y = location[1]
if (scrollY > oldScrollY) {
if (scrollY >= y) {
// TODO
// 내려가면서 특정 뷰 위치를 지나갈 때
}
}
if (scrollY < oldScrollY) {
if (scrollY <= y) {
// TODO
// 올라가면서 틀정 뷰 위치를 지나갈 때
}
}
}
}
이상입니다.