Back to tech

Flutter の TabBarView でスワイプを抑止する

1 min read
Table of Contents

お久しぶりです。みやかわです。

Flutterの TabBarView を使う機会がありました。

これを使うと簡単に1ページでページ切り替えをしているような実装をすることができます。(表現が難しい)

私が作っているアプリでもこれを使っているのですが、ちょっとした問題がおこりました。

それは、デフォルトでスワイプがついていることです。

なんらかのボタンを押したタイミングで切り替えをしたかったのですが、上記の問題がありました。

試したりググったりして解決したのでメモ程度に書いていきます。

TabBarViewのスワイプを無効にする

早速ですが結論です。

TabVarViewの physics に NeverScrollableScrollPhysics() を追加すると解決します。

TabBarView(
        physics: NeverScrollableScrollPhysics(), // これを追加
        controller: tabcontroler,
        children: [
          Container(color: Colors.red),
          Container(color: Colors.green),
          Container(color: Colors.blue),
        ],
      ),

参考

stackoverflow.com
stackoverflow.com