はじめに
Flutter の IconButton はデフォルトでは余白があり、他の要素とぴったり隣接させるのが難しいです。
この記事では、IconButton の余白を最小限にする方法を紹介します。
解決方法
以下のコードで IconButton の余白を最小限にできます。
IconButton(
style: const ButtonStyle(
tapTargetSize: MaterialTapTargetSize.shrinkWrap,
),
padding: EdgeInsets.zero,
constraints: const BoxConstraints(),
icon: const Icon(Icons.add),
onPressed: () {},
),
コードの説明
tapTargetSize
をMaterialTapTargetSize.shrinkWrap
に設定してタップ領域を最小化padding
:EdgeInsets.zero
でpadding
をゼロに設定constraints
: 空のBoxConstraints()
を設定し、ボタンのサイズ制約を解除
動作確認
このコードの動作を確認するには、以下の DartPad リンクを使用してください。
🚨 ③ のパターンでは、DartPad とエミュレーターで結果が変わりました。
原因は掴めていないです。
エミュレーターでの結果
まとめ
IconButton の余白を最小限にして、隣接する要素とするなりなんなりできるようになりました。
ただしタップ領域が小さくなるため、ユーザビリティと相談しながら使いましょう。
参考資料
関連する投稿があります
ブログ運営者
muuuuminn
経歴:
SE:1年半 → FE:5年 → ?スキル:
Next.js, TypeScript, React, Notion趣味:
ゲーム, 手品, 開発, コレクション, 映画