Skip to main content

AndroidでViewPager2を使ったら横へのスワイプ感度が強すぎた件

Kotlinの本はこちら

ViewPager2を使ってみたら
通常のViewPagerと違って横へのスワイプ感度が強すぎた
縦にスクロールしようとすると勝手に横にスワイプしてしまうイメージだ

これの解決策


・環境
親:ViewPager2
子:Fragment:RecyclerView + SwipeRefreshLayout

・原因
ViewPager2でなくSwipeRefreshLayoutにバグがある
androidx.swiperefreshlayout:swiperefreshlayout:1.0.0
がバグってる。
ずっとViewPager2だと思ってたのに・・・・

・解決策
androidx.swiperefreshlayout:swiperefreshlayout:1.1.0-alpha03
より新しいものを使う
https://developer.android.com/jetpack/androidx/releases/swiperefreshlayout
>requestDisallowInterceptTouchEvent(boolean) が常に親にまで伝播するようになりました。
>SwipeRefreshLayout にスクロール可能な親(ViewPager2 など)とスクロール可能な子がある場合のネストされたスクロールの問題を修正しました(b/138314213)

 

これで解消しましたとさ
どこにバグがあるか切り分け難しいですね

関連記事:

Pocket