본문
[2018.07.14] 107. ScrollView Top 확인방법과 주의할 점
컴퓨터/이론: 안드로이드 2018. 7. 14. 19:24
도입
이번 포스팅에서는 ScrollView의 Top 확인 방법과 주의할 점에 대해 알아볼 예정이다.
개념
추후 정리
실습
Step1. Xml ScrollView 설정
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <ScrollView android:id="@+id/scroll_view" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="8" > <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" android:text="@string/content"/> </LinearLayout> </ScrollView> | cs |
Step2. ScrollView Listener 설정
1 2 3 4 | scroll_view.setOnScrollChangeListener({ view, scrollX, scrollY, oldScrollX, oldScrollY -> if (scroll_view.scrollY == 0) Toast.makeText(MainActivity@ this, "Top", Toast.LENGTH_SHORT).show() }) | cs |
여기서 내가했던 실수는 setOnScrollChangeListener가 아닌 viewTreeObserver를 통해 Listener를 추가한 것이다. 아래서 차이점에 대해 정리할 예정이다.
주의할 점
viewTreeObserver.addOnScrollChangedListener VS view.setOnScrollChangeListener
viewTreeObserver를 사용하면 위에 다른 view가 올라와 있더라도 모든 Touch를 처리한다. 이름에서 알 수 있듯이 모든 처리를 추적한다.
viewTreeObserver.addOnScrollChangedListener |
view.setOnScrollChangeListener |
#ScrollView #ScrollView top #addOnScrollChangedListener #setOnScrollChangeListener
'컴퓨터 > 이론: 안드로이드' 카테고리의 다른 글
[2018.07.28] 109. Scheme 개념과 실습 (0) | 2018.07.28 |
---|---|
[2018.07.22] 108. Multi-window 개념과 주의할 점 (0) | 2018.07.22 |
[2018.07.14] 106. View attribute 우선순위 (0) | 2018.07.14 |
[2018.07.08] 105. Viewstub 개념과 실습 (0) | 2018.07.08 |
[2018.06.13] 104. View, ViewGroup 관계 (0) | 2018.06.13 |
댓글