티스토리 뷰
반응형
전에 포스팅 했던 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
// 올라가면서 틀정 뷰 위치를 지나갈 때
}
}
}
}
이상입니다.
반응형
'안드로이드' 카테고리의 다른 글
[Android Studio] SHA1 확인하는 방법. (0) | 2024.10.14 |
---|---|
[Android Studio] Drop down 사용하기 (0) | 2024.04.12 |
[Android Studio] StatusBar 색상 변경하기 (코틀린) (0) | 2024.03.21 |
[Android Studio] ScrollView 방향 확인 법 1. (코틀린) (0) | 2024.03.20 |
[Android Studio] ViewPager2 다음 페이지 보이게 하기 (0) | 2024.03.04 |
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- flutter_new_badger
- ScrollView
- Flutter
- FCM
- ec2
- message
- Custom
- GitHub
- API
- error
- java
- Kotlin
- ios
- 재귀함수
- listener
- Firebase
- 코딩테스트
- Android Studio
- Crop
- app bundle
- node.js
- Token
- android
- 알고리즘
- bitmap
- https
- ExoPlayer
- Hilt
- retrofit
- direction
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함