본문 바로가기

Android

Appbar layout과 RecyclerView를 같이 쓰면 터치를 두 번 해야 아이템클릭이 되는 버그

Appbar layout과 RecyclerView를 같이 쓰면 터치를 두 번 해야 아이템클릭이 되는 버그가 있습니다.


- 구글은 그 버그를 서포트 라이브러리 27.0.1에서 잡았다고 주장합니다만

https://developer.android.com/topic/libraries/support-library/revisions.html#27-0-1


- 아직 안 고쳐졌다는 사람도 있다고 합니다.

Some users reported that this problem is not fixed in support library 27.0.1. The issue tracker is here. 

https://issuetracker.google.com/issues/66996774


- 제가 만들고 있던 앱에서도 이 현상이 재현되었습니다. 구글 직원 (Chris banes)이 개인적으로 올려준 해결책을 이용해 해결했는데요, https://gist.github.com/chrisbanes/8391b5adb9ee42180893300850ed02f2


- 원인은 스크롤 후 첫번째 터치가 NestedScroll을 멈추는 동작으로 인식되는 것이었습니다. (그래서 스크롤 이후 한참동안 기다려 NestedScroll timer까지 완료된 후 클릭하면 인식되었습니다. 그리고 스크롤하다가 손가락으로 밀어버리는 Fling 동작을 한 뒤에는 이 현상의 재현빈도가 더 높았습니다.