Programming

안드로이드 : ScrollView vs NestedScrollView

procodes 2020. 7. 15. 22:17
반응형

안드로이드 : ScrollView vs NestedScrollView


차이점은 무엇이며 ScrollView그리고 NestedScrollView? 둘 다 확장 FrameLayout합니다. 나는 둘 다의 장단점을 알고 싶습니다.


NestedScrollView이름에서 알 수 있듯이 다른 스크롤보기 안에 스크롤보기가 필요할 때 사용됩니다. 일반적으로 시스템에서 스크롤 할보기를 결정할 수 없으므로이 작업을 수행하기가 어렵습니다.

여기가 NestedScrollView온다.


중첩 스크롤 외에도 NestedScrollView하나의 주요 기능이 추가되어 중첩 컨텍스트 외부에서 재미있게 만들 수 있습니다 OnScrollChangeListener. 추가 OnScrollChangeListener원본에 ScrollView API (23) 아래의 서브 클래스 요구 ScrollView또는 와 장난 ViewTreeObserverScrollView 어떤 종종 서브 클래스보다 더 많은 작업을 의미한다. 내장 setter를NestedScrollView 사용하여 수행 할 수 있습니다 .


NestedScrollView

NestedScrollView는 ScrollView와 비슷하지만 Android의 새 버전과 이전 버전에서 중첩 스크롤 부모와 자식 역할을 모두 지원합니다. 중첩 스크롤은 기본적으로 활성화되어 있습니다.

https://developer.android.com/reference/android/support/v4/widget/NestedScrollView.html

ScrollView

사용자가 스크롤 할 수있는 뷰 계층 구조의 레이아웃 컨테이너로, 실제 디스플레이보다 클 수 있습니다. ScrollView는 FrameLayout입니다. 즉, 스크롤 할 전체 내용이 포함 된 자식 하나를 배치해야합니다. 이 자식 자체는 복잡한 객체 계층 구조를 가진 레이아웃 관리자 일 수 있습니다.

https://developer.android.com/reference/android/widget/ScrollView.html


주어진 답변에 나열된 장점 외에도 ScrollView보다 NestedScrollView의 또 다른 장점은 CoordinatorLayout과의 호환성입니다. ScrollView는 CoordinatorLayout과 협력하지 않습니다. 툴바에 대한 "스크롤 오프 스크린"동작을 얻으려면 NestedScrollView를 사용해야합니다.

CoordinatorLayout의 자식으로 Scrollview를 사용하여 도구 모음이 축소되지 않습니다


NestedScrollView는 ScrollView와 유사하지만 NestedScrollView에서는 다른 스크롤보기를 자식의 하위 항목 (예 : RecyclerView)으로 넣을 수 있습니다.

그러나 RecyclerView를 NestedScrollView 안에 넣으면 RecyclerView의 부드러운 스크롤이 방해받습니다. 따라서 부드러운 스크롤을 다시 얻으려면 트릭이 있습니다.

ViewCompat.setNestedScrollingEnabled(recyclerView, false);

recyclerView에 대한 어댑터를 설정 한 후 위의 줄을 넣으십시오.


중첩 스크롤 뷰를 사용하면 코리 네이터 레이아웃이 중첩 스크롤 이벤트 만 수신한다는 이점이 있다고 생각합니다. 예를 들어. 활동 내용을 스크롤 할 때 도구 모음이 아래로 스크롤되도록하려면 레이아웃에서 중첩 된 스크롤보기를 사용하는 경우에만 아래로 스크롤됩니다. 레이아웃에서 일반 스크롤보기를 사용하면 사용자가 내용을 스크롤 할 때 도구 모음이 스크롤되지 않습니다.

참고 URL : https://stackoverflow.com/questions/34773982/android-scrollview-vs-nestedscrollview

반응형