[Flutter]Cardからダイアログを表示するには?

Flutter

どうも、ちょげ(@chogetarou)です。

Cardをタップした際にダイアログを表示させる方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

Cardからダイアログを表示するには、GestureDetectorとshowDialogを使います。

まず、CardをGestureDetectorでラップします。

次に、GestureDetectorの引数「onTap」に関数を指定します。

そして、関数の処理でshowDialogを呼び出し、showDialogの引数「builder」で表示するダイアログをreturnします。

GestureDetector(
  onTap: () {
    showDialog(
      context: context,
      builder: (context) {
        return Dialog(); //ダイアログとして表示するものを指定
      },
    );
  },
  child: Card(),
),

これでCardをタップした際にダイアログを表示させることが出来ます。

使用例

以下は、使用例です。

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: GestureDetector(
          onTap: () {
            showDialog(
              context: context,
              builder: (context) {
                return AlertDialog(
                  title: Text('こんにちは!'),
                  content: Text('いい天気ですね'),
                );
              },
            );
          },
          child: Card(
            child: ListTile(
              title: Text('あいさつ'),
            ),
          ),
        ),
      ),
    );
  }

コメント

タイトルとURLをコピーしました