티스토리 뷰

반응형

 

전에 포스팅 했던 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
            // 올라가면서 틀정 뷰 위치를 지나갈 때
            }
        }
    }
}

 

 

이상입니다.

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함