カテゴリ: FlutterのUI開発 更新日: 2026/01/25

Flutterのボタンを作ろう!ElevatedButton・IconButtonの活用法を初心者向けに解説

272
Flutterのボタンを作ろう!ElevatedButton・IconButtonの活用

先生と生徒の会話形式で理解しよう

生徒

「Flutterでアプリを作っているのですが、画面にボタンを表示したいです。どんな種類があるんですか?」

先生

「Flutterでは、ElevatedButtonIconButtonなど、いくつかのボタンウィジェットが用意されています。」

生徒

「それぞれどう違って、どうやって使えばいいのか教えてほしいです!」

先生

「それでは、Flutterの基本的なボタンの使い方を一緒に学んでいきましょう!」

1. Flutterでボタンを作る基本:ElevatedButtonとは?

1. Flutterでボタンを作る基本:ElevatedButtonとは?
1. Flutterでボタンを作る基本:ElevatedButtonとは?

Flutterでは、ユーザーのタップ操作に反応するためにElevatedButtonを使います。このボタンは、ボタンらしい立体的な影があるデザインで、視認性も高く初心者におすすめのボタンです。

ElevatedButtonは、以前のRaisedButtonの後継として、Flutter 2.0以降で推奨されています。アプリ画面の中で目立つようなアクション(送信・決定・登録など)に適しています。

2. ElevatedButtonの基本コードと実装例

2. ElevatedButtonの基本コードと実装例
2. ElevatedButtonの基本コードと実装例

FlutterでElevatedButtonを使うには、次のように記述します。


ElevatedButton(
  onPressed: () {
    print("ボタンが押されました");
  },
  child: Text('クリック'),
)

onPressedに関数を指定すると、ユーザーがタップしたときに処理が実行されます。何も指定しないとボタンは無効になります。

3. ボタンの色やサイズをカスタマイズしよう

3. ボタンの色やサイズをカスタマイズしよう
3. ボタンの色やサイズをカスタマイズしよう

ボタンのデザインはstyleプロパティでカスタマイズできます。色・サイズ・形状などを柔軟に変更できます。


ElevatedButton(
  style: ElevatedButton.styleFrom(
    primary: Colors.blue,
    onPrimary: Colors.white,
    padding: EdgeInsets.symmetric(horizontal: 24, vertical: 12),
    shape: RoundedRectangleBorder(
      borderRadius: BorderRadius.circular(8),
    ),
  ),
  onPressed: () {
    print("カスタムボタンが押されました");
  },
  child: Text('カスタム'),
)

primaryは背景色、onPrimaryは文字の色を指定します。paddingでボタン内の余白を調整し、shapeで角の丸みを設定できます。

Flutterを「実務レベル」で使えるようになりたい人や、 iPhone / Android両対応アプリ開発の流れをまとめて学びたい人には、 定番の実践書がこちらです。

Flutter実践開発をAmazonで見る

※ Amazon広告リンク

4. アイコン付きのボタンを作る:IconButtonとは?

4. アイコン付きのボタンを作る:IconButtonとは?
4. アイコン付きのボタンを作る:IconButtonとは?

IconButtonは、文字ではなくアイコンだけで操作を示すボタンです。例えば「お気に入り」「削除」「検索」などの動作に適しています。

ボタンの中にIconsを指定して、視覚的に操作を伝えることができます。よくあるのは、ヘッダーに置く検索アイコンなどです。

5. IconButtonの基本コードと使い方

5. IconButtonの基本コードと使い方
5. IconButtonの基本コードと使い方

IconButton(
  icon: Icon(Icons.favorite),
  color: Colors.red,
  iconSize: 32,
  onPressed: () {
    print("お気に入りボタンが押されました");
  },
)

iconに表示するアイコン、colorで色、iconSizeでサイズを設定します。onPressedはタップ時の処理です。

6. IconButtonとTextを組み合わせるには?

6. IconButtonとTextを組み合わせるには?
6. IconButtonとTextを組み合わせるには?

アイコンと文字を両方使いたい場合は、TextButton.iconElevatedButton.iconを使います。


ElevatedButton.icon(
  onPressed: () {
    print("アイコン付きボタンが押されました");
  },
  icon: Icon(Icons.send),
  label: Text('送信'),
)

このようにすることで、アイコンと文字を並べたボタンが簡単に作成できます。ユーザーにも直感的に伝わりやすく、UIのアクセシビリティも向上します。

7. Flutterのボタンでよくあるエラーと対処法

7. Flutterのボタンでよくあるエラーと対処法
7. Flutterのボタンでよくあるエラーと対処法

Flutterでボタンを使う際によくあるエラーとして、「onPressedがnullでボタンが反応しない」や「アイコンが表示されない」などがあります。

その場合は、次のような点を確認しましょう:

  • 関数をonPressedに正しく設定しているか
  • アイコンがIconsに含まれているものか
  • サイズや色が原因で見えなくなっていないか

デバッグ出力でprint()を活用すれば、簡単にボタンの動作を確認できます。

8. Flutterでボタンを活用してUIをもっと魅力的に

8. Flutterでボタンを活用してUIをもっと魅力的に
8. Flutterでボタンを活用してUIをもっと魅力的に

FlutterのElevatedButtonIconButtonを使いこなすことで、モバイルアプリの操作性とデザイン性を高めることができます。

さらに、テーマと組み合わせることで、アプリ全体の統一感あるボタン設計も可能です。例えばTheme.of(context).textThemeElevatedButtonThemeを使って、グローバルにデザインを適用できます。

最初は小さなカスタマイズから始めて、FlutterのUI設計に少しずつ慣れていきましょう。Flutterは初心者にも扱いやすく、ドキュメントも豊富なので学習がスムーズです。

この記事を読んだ人からの質問

この記事を読んだ人からの質問
この記事を読んだ人からの質問

プログラミング初心者からのよくある疑問/質問を解決します

Flutterで使えるボタンの種類には何がありますか?初心者でもわかるように教えてください

FlutterにはElevatedButton、TextButton、OutlinedButton、IconButtonなど複数のボタンウィジェットがあります。特にElevatedButtonは立体的なデザインで扱いやすく、初心者でも簡単に使える基本ボタンとして最もよく利用されます。

ElevatedButtonとは何ですか?Flutterで最も基本的なボタンについて知りたいです

ElevatedButtonは、背景に立体感のある影を含んだボタンで、ユーザーに分かりやすく目立つアクションを提供するために使われます。以前のRaisedButtonの後継で、決定ボタンや送信ボタンに最適です。

FlutterでElevatedButtonをタップしたときに処理を実行するにはどうすればいいですか?

ElevatedButtonにはonPressedというプロパティがあり、ここに関数を設定するとタップ時にその処理が実行されます。何も設定しないとボタンは無効状態になるため、必ず処理を指定しましょう。

Flutterのボタン機能を応用してUIをもっと魅力的にする方法はありますか?

ElevatedButtonとIconButtonを組み合わせたり、色・形状・影・アニメーションを追加することでデザイン性を高められます。Flutterはカスタマイズの自由度が高いため、初心者でも少しずつ工夫することで魅力的なUIを作れます。
FlutterのUI開発の一覧へ
新着記事
FlutterのMVP・MVVMアーキテクチャの違いと使い分け
FlutterのMVP・MVVMアーキテクチャの違いと使い分けを初心者向けに解説!
オニオンアーキテクチャの基本とFlutterでの適用例
オニオンアーキテクチャの基本とFlutterでの適用例を初心者向けに解説
クリーンアーキテクチャとは?Flutterでの導入メリット
クリーンアーキテクチャとは?Flutterでの導入メリットをやさしく解説
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金まとめ
【AWS】RDS for Oracleの特徴・できないこと・バージョン・料金を初心者向けに徹底解説
人気記事
インスタンスタイプの料金比較と最適な選び方(最新2025年版)
AWSのインスタンスタイプの料金比較と最適な選び方【2025年最新版】
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCの料金体系まとめ!無料枠・通信費・各種サービスごとの料金を徹底解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】VPCエンドポイントとは?種類・使い方・S3連携まで完全解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説
【AWS】s3 cpコマンド完全ガイド!基本・recursive・exclude/includeも解説

🔌 USBポート不足を解消

Type-C 1本で拡張。
開発・作業環境を一気に快適に

UGREEN USB-Cハブを見る

※ Amazon広告リンク