ls -al

仮想通貨やプログラミングに関する事などをつらつらと書き綴ります

CoordinatorLayoutのヘッダを勢い良くスワイプするとスクロール方向が反転する不具合を直すBehavior

タイトル長いですが、その通りの内容です。

CoordinatorLayout + AppBarLayoutでヘッダ + スクロール部分という構成の画面を作るというのはよくある話です。 このときにヘッダにした部分を勢い良くスワイプすると、ヘッダ部分が全て画面外まで隠れたタイミングでスクロール方向が反転してしまう不具合があります。 これを直してみました。


方法

以下のようなBehaviorを使います。 スクロール中であることを保持するフラグ、及び、それを使って処理をブロックすることによって、こういった挙動を抑制できるようです。

参考

https://stackoverflow.com/questions/47152764/how-do-i-remove-the-bouncing-effect-on-appbar/47298312