💻

[Flutter] GestureDetectorでボタンじゃないWidgetにonTapを生やす

2020/08/08に公開

小ネタです。

Flutterの FlatButtonRaisedButton のようなボタン系のWidgetには onPressed というコンストラクタ引数が用意されていますが、例えば何気ない画像とかに「タップしたら何かアクションをする」という実装を追加したいこともありますよね。

そういう場合は GestureDetector というWidgetでラップしてあげると、 onTap というコンストラクタ引数が生えてタップ可能になります👍

Before

Container(
  child: Image.network('https://via.placeholder.com/100'),
),

After

Container(
  child: GestureDetector(
    child: Container(
      child: Image.network('https://via.placeholder.com/100'),
    ),
    onTap: () {
      // do something
    },
  ),
),

こんな感じで画像がタップ可能になって、 onTap: () {} 内で任意の処理を実行できるようになります。

参考:[Flutter] 自前の画像をタップして処理を走らせる(GestureDetector、onTap) - Qiita

GitHubで編集を提案

Discussion