바텀 슬라이딩 안에 RecyclerView 가 여러 개 들어가는 NestedScrollView 를 만들었다. 그런데 특정 단말기에서 스크롤의 포커스가 이상하게 두번째 리사이클러뷰에 맞춰지는 것을 발견. Note 10+ 에선 발생하지 않았던 문제였는데, s7으로 테스트하니 발견할 수 있었다. 이건 간단하게 해결할 수 있다. 하위 뷰들이 포커스를 받지 못하도록 하는 속성을 넣어주면 된다. NestedScrollView 를 사용할 때 포커스 문제를 종종 발견하는데, 이 속성을 추가하면 해결이 바로 가능하다.
<androidx.core.widget.NestedScrollView
android:id="@+id/scrollview"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginTop="28dp"
android:layout_marginBottom="80dp"
app:layout_constraintBottom_toBottomOf="parent">
// recyclerView 를 감싸고 있는 ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/layout_scroll"
android:layout_width="match_parent"
android:layout_height="wrap_content"
// 이 속성 하나만 추가하면 된다.
android:descendantFocusability="blocksDescendants">
// recylerView 들 여러개
참고.
https://developer.android.com/reference/android/view/ViewGroup#attr_android:descendantFocusability
'안드로이드 > 앱 개발' 카테고리의 다른 글
[Kotlin] 현재 화면의 크기를 가져오는 방법 (0) | 2021.07.16 |
---|---|
구글 지도의 모양을 변경하고 싶을 때 (outlineProvider) (0) | 2021.07.14 |
statusBar 색상, 텍스트 색상 변경 (0) | 2020.12.13 |
BottomNavigationView + TabLayout + ViewPager2 모두 이용해서 화면 만들기 (Kotlin) (0) | 2020.12.12 |
TabLayout (0) | 2020.12.12 |