【2024年4月】弊社では、基本リモートワークで一緒に成長してくださるメンバーを広く募集させていただいております。 詳細はこちら

【Flutter】主要6ボタンウィジェット(Elevated、Text、Outlined、Icon、Floating、Dropdown)の徹底解説

【Flutter】主要6ボタンウィジェット(Elevated、Text、Outlined、Icon、Floating、Dropdown)の徹底解説
いちの

こんばんは〜
弊社ブログに辿り着いていただきありがとうございます!
株式会社メモリアインクのいちのです

この記事を読んでわかること

  • 各ボタンウィジェットの基本的な用途と特徴
  • 各ウィジェットの実装方法とサンプルコード
  • ウィジェットごとのカスタマイズのポイント

開発環境

  • Dart 3.0.0
  • Flutter 3.10.0
目次

ElevatedButton

説明

  • ElevatedButtonは、マテリアルデザインに基づいた立体感のあるボタンウィジェットです。主に注目を引くアクションや機能に使用されます。

特徴

  • 影を伴う立体的なデザイン
  • ボタンの背景色や形状をカスタマイズ可能

サンプルコード

ElevatedButton(
  onPressed: () {
    // ボタンをタップした時のアクション
  },
  child: Text('Elevated Button'),
)

このコードは、ElevatedButtonを作成し、タップすると何らかのアクションを起こす基本的な使用法を示しています。onPressedプロパティには、ボタンがタップされた時に実行される関数を設定します。

動作確認

いちの

それでは実際の動作を見てみましょ〜

【Flutter】ElevatedButtonを簡単に作成

TextButton

説明

  • TextButtonは、テキストのみを表示するシンプルなボタンウィジェットです。主にフォームの送信やダイアログの閉じるボタンなど、軽微なアクションに適しています。

特徴

  • ボーダーや背景色がないシンプルなデザイン
  • テキストのスタイルを簡単にカスタマイズ可能

サンプルコード

TextButton(
  onPressed: () {
    // アクション
  },
  child: Text('Text Button'),
)

この例では、TextButtonを使用してテキストベースのボタンを作成しています。onPressedには、ボタンが押されたときの動作を定義します。

動作確認

いちの

それでは実際の動作を見てみましょ〜

【Flutter】TextButtonを簡単に作成

OutlinedButton

説明

  • OutlinedButtonは、枠線が特徴のボタンウィジェットで、内部にテキストやアイコンを含むことができます。主に代替的なアクションや二次的な選択肢を提示する際に使用されます。

特徴

  • 枠線によるシンプルながら目立つデザイン
  • 枠線やテキストの色をカスタマイズ可能

サンプルコード

import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(home: Scaffold(body: MyOutlinedButton())));

class MyOutlinedButton extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: OutlinedButton(
        onPressed: () => print('OutlinedButton pressed'),
        child: Text('Tap Me'),
        style: OutlinedButton.styleFrom(
          primary: Colors.blue,
          side: BorderSide(color: Colors.blue),
        ),
      ),
    );
  }
}

MaterialAppウィジェットとScaffoldウィジェットを使ってアプリの基本的な構造を構築し、bodyプロパティにMyOutlinedButtonウィジェットを配置しています。MyOutlinedButtonStatelessWidgetを継承しており、中央にOutlinedButtonを表示します。このボタンは、タップされたときにコンソールにメッセージを出力します。OutlinedButton.styleFromメソッドを使用して、ボタンのプライマリカラーとボーダーのスタイルをカスタマイズしています。

動作確認

いちの

それでは実際の動作を見てみましょ〜

【Flutter】OutlinedButtonを簡単に作成

IconButton

説明

  • IconButtonは、アイコンを表示するためのボタンウィジェットです。ツールバーやアプリバー内でよく使用されます。

特徴

  • アイコンのみを表示するコンパクトなデザイン
  • アイコンのサイズや色をカスタマイズ可能

サンプルコード

import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(home: Scaffold(body: MyIconButton())));

class MyIconButton extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: IconButton(
        icon: Icon(Icons.alarm),
        onPressed: () => print('IconButton pressed'),
      ),
    );
  }
}

このコードは、MaterialAppScaffoldウィジェットを使ってアプリケーションの基本構造を設定し、ScaffoldbodyプロパティにCenterウィジェットを配置しています。Centerウィジェットの中にIconButtonを設置し、iconプロパティにIcons.alarmアイコンを設定しています。onPressedプロパティには、ボタンがタップされたときに実行されるコールバック関数を定義し、ここでは単にコンソールにメッセージを出力します。

IconButtonは、アイコンを表示するボタンであり、UI上でのアイコンベースのアクションを提供する際に便利です。アイコンの種類、色、サイズなどはカスタマイズ可能で、アプリケーションのデザインに合わせて調整できます。

動作確認

いちの

それでは実際の動作を見てみましょ〜

【Flutter】IconButtonを簡単に作成

アイコンボタンとテキストボタンにご興味のある読者様。以下の記事で分かりやすく丁寧に解説しておりますので、ぜひご一読いただけますと幸いです。

FloatingActionButton

説明

  • FloatingActionButtonは、アプリケーションの主要なアクションを促すためにデザインされた丸いアイコンボタンです。通常、画面の下部に浮かぶ形で配置されます。

特徴

  • 目立つ丸い形状
  • 一般的にはアプリのメインアクションに使用される

サンプルコード

import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(home: Scaffold(floatingActionButton: MyFloatingActionButton())));

class MyFloatingActionButton extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return FloatingActionButton(
      onPressed: () => print('Floating Action Button pressed'),
      child: Icon(Icons.add),
      backgroundColor: Colors.green,
    );
  }
}

MaterialAppScaffoldウィジェットを使ってアプリケーションの基本構造を構築しており、ScaffoldfloatingActionButtonプロパティにカスタムのFloatingActionButtonウィジェットを配置しています。FloatingActionButtonには、onPressedコールバックでコンソールにメッセージを出力するアクションを定義しており、childプロパティにはIcons.addアイコンを設定して、ボタンにアイコンを表示しています。また、backgroundColorプロパティを使用してボタンの背景色をカスタマイズしています。

動作確認

いちの

それでは実際の動作を見てみましょ〜

【Flutter】FloatingActionButtonを簡単に作成

DropdownButton

説明

  • DropdownButtonは、ドロップダウンメニューを表示するためのウィジェットで、複数の選択肢から一つを選ぶインターフェイスを提供します。

特徴

  • 複数の選択肢からユーザーが一つを選ぶことができる
  • 選択肢のリストをカスタマイズ可能

サンプルコード

import 'package:flutter/material.dart';

void main() => runApp(MaterialApp(home: Scaffold(body: MyDropdown())));

class MyDropdown extends StatefulWidget {
  @override
  _MyDropdownState createState() => _MyDropdownState();
}

class _MyDropdownState extends State<MyDropdown> {
  String _selected = 'りんご';
  @override
  Widget build(BuildContext context) {
    return Center(
      child: DropdownButton<String>(
        value: _selected,
        onChanged: (value) => setState(() => _selected = value!),
        items: <String>['りんご', 'みかん', 'ぶどう'].map((String value) {
          return DropdownMenuItem<String>(value: value, child: Text(value));
        }).toList(),
      ),
    );
  }
}

アプリケーションが起動するとMaterialAppウィジェットを含む簡単なUIを構築します。Scaffoldウィジェットを使用して基本的なアプリケーションの構造を提供し、そのbodyプロパティにカスタムウィジェットMyDropdownを配置しています。MyDropdownクラスはStatefulWidgetを継承しており、選択されたドロップダウンアイテムの状態を管理します。ユーザーがドロップダウンメニューからアイテムを選択すると、その選択は_selected変数に保存され、ウィジェットが適切に更新されます。

動作確認

いちの

それでは実際の動作を見てみましょ〜

【Flutter】DropdownButtonを簡単に作成_ボタン押下前
【Flutter】DropdownButtonを簡単に作成_ボタン押下後

ボタンウィジェットについてもっと知りたいという方は、以下個人的に自信作の記事をぜひ!

まとめ

いかがでしたでしょうか?この記事を通じて、ElevatedButton、TextButton、OutlinedButton、IconButton、FloatingActionButton、DropdownButtonの基本的な特徴、使用方法、そしてカスタマイズの方法について理解を深めることができたでしょう。効果的なUI設計にこれらのウィジェットを活用して、使いやすく、見た目にも魅力的なFlutterアプリケーションを開発してください。

いちの

自分の成長を加速させるチャンスがどこかにあるかもしれません。
変化を恐れずに新たな環境に飛び込む勇気のある方は、
未経験からIT・Webエンジニアを目指すなら【ユニゾンキャリア】
をオススメします。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

コメント

コメント一覧 (4件)

コメントする

目次