概要
忘れちゃいそうなのでここにメモメモ。
Flutter始めたときに疑問だったのが「どうやってボタン無効化するの?」でした。
結論としては onPressed
に null
を設定すればいいだけ。
Flutterの ElevatedButton のAPIドキュメントにもちゃんと書いてありました。
サンプル
import 'package:flutter/material.dart'; class ButtonDisabledPage extends StatelessWidget { const ButtonDisabledPage({Key? key}) :super(key: key); @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( title:const Text('Button Disabled'), centerTitle:true, ), body: Center( child: Column( mainAxisAlignment: MainAxisAlignment.center, children: [ Padding( padding:const EdgeInsets.fromLTRB(0, 0, 0, 10), child: ElevatedButton( onPressed: () {}, child:const Text('CAN PUSH'), ), ), const ElevatedButton( // onPressedに null を設定するとボタンが無効化される// see: https://api.flutter.dev/flutter/material/ElevatedButton-class.html onPressed:null, child: Text('NOT PUSH'), ), ], ), ), ); } }
実行すると以下の感じ。
上のボタンは押せるけど、下のボタンは押せない状態。
参考情報
過去の記事については、以下のページからご参照下さい。
- いろいろ備忘録日記まとめ
サンプルコードは、以下の場所で公開しています。
- いろいろ備忘録日記サンプルソース置き場