【Flutter】onPressedとonTapの違い|どんなWidgetで使われる?

今回は ElevatedButtonGestureDetectorなどのタッチイベント系Widgetで使用されるonPressedonTapの違いについて触れていきます。

Flutter初心者の方でonPressedonTapの違いにモヤモヤしている方向けの記事です。

\ 世界最大級のオンライン学習サービス /

目次

onPressedとonTapの機能は同じ

まず初めにonPressedonTapの機能面での違いですが、どちらも同じです。

異なるのはどのWidgetのタップイベントでonPressedonTapが使われるかです。

「onPressed」が使用されるWidget例

ElevatedButton(
  child: Text('Click'),
  onPressed: () => print('Hello World'),
),

onPressedがタップイベントで使用されるWidgetの例としてFloatingActionButtonElevatedButtonIconButtonなどがあげられます。

「onTap」が使用されるWidget例

GestureDetector(
  child: Icon(
    Icons.home,
    size: 100,
    color: Colors.blue,
  ),
  onTap: () => print('Hello World'),
),

onTapがタップイベントで使用されるWidgetの例としてGestureDetectorInkWellなどがあげられます。

onPressedとonTapはどっちがWidgetで使われる?

  • onPressedはボタン系Widgetで使用されやすい
  • onTapはボタン系Widget以外ので使用されやすい

onPressedonTapが使用されるWidgetの明確な違いについて書かれた情報を見つけられませんでしたが、onPressedElevatedButtonなどのボタン系Widgetで使われやすく、逆にonTapはボタン以外のタップイベントで使用されやすい感じです。

一緒に読みたい

参考

  • URLをコピーしました!
目次