【Flutter】Widgetとは?初心者向けに基本と使い方を解説

【Flutter】Widgetとは?初心者向けに基本と使い方を解説

未経験から最短3カ月でプログラマーへ!!【0円スクール】

この記事はで読むことができます。

この記事でわかること
  • Flutterにおける「Widget」の基本概念と役割
  • よく使われる基本的なWidgetの種類と使い方

こんにちは、ふわふわです!

Flutterについて調べてみても、情報が多すぎて「結局どう実装すればいいのかわからない」とお悩みではないでしょうか?

そんな方に向けて、【Flutterの舞台裏】を始めました!

Flutterの舞台裏では、Flutter初心者の方を対象に、基本的な実装方法から具体的なコード例まで、必要な情報だけを分かりやすく解説します。

この記事のレベル

初心者
 (5)
重要度
 (5)
難しさ
 (1.5)

Flutterを学び始めた方の中には、「Widgetってそもそも何?」「どのように使えばいいの?」と疑問を持つ方も多いのではないでしょうか。
FlutterのUIはすべてWidgetで構成されているため、これを理解することがアプリ開発の第一歩となります。

本記事では、FlutterのWidgetの基本概念から使い方、よく使われる代表的なWidgetまで、初心者向けにわかりやすく解説します。

「FlutterのWidgetをしっかり理解して、アプリ開発を始めたい!」という方は、ぜひ最後までご覧ください!

FlutterのWidget(ウィジェット)とは、アプリのUIを構成する最小単位の要素です。
ボタンやテキスト、画像、レイアウトなど、画面上のすべての要素はWidgetとして表現されます。

Flutterの開発では、複数のWidgetを組み合わせることで、自由にUIを作成できます。

Widgetとは?FlutterのUIを構成する基本要素

Flutterでは、「すべてがWidget」と言われるほど、UIの基本構成はWidgetで成り立っています。
例えば、テキストを表示するにはText、ボタンを作成するにはElevatedButtonといったWidgetを使用します。

Dart
import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text('Flutter Widgetの基本')),
        body: Center(
          child: ElevatedButton(
            onPressed: () {},
            child: Text('ボタン'),
          ),
        ),
      ),
    );
  }
}

このコードでは、Text(テキスト)、ElevatedButton(ボタン)、Scaffold(基本レイアウト)など、複数のWidgetを組み合わせてUIを作っています。

StatelessWidgetとStatefulWidgetの違い

FlutterのWidgetには、大きく分けてStatelessWidget(ステートレスウィジェット)とStatefulWidget(ステートフルウィジェット)の2種類があります。
これは、Widgetが内部に「状態(State)」を持つかどうかで分類されます。

StatelessWidgetとは?(状態を持たないWidget)

StatelessWidgetは、一度作成されたら内容が変化しないWidgetです。
ユーザーの操作やデータの変更に影響を受けることなく、固定されたUIを描画します。

例えば、以下のStatelessWidgetは、テキストを表示するだけのシンプルなWidgetです。

Dart
class MyText extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Text('これはStatelessWidgetです');
  }
}

このように、StatelessWidgetは入力(プロパティ)に基づいてUIを描画するだけで、後から変更されることはありません。
ボタンやアイコン、ラベルなど、動的な変更を必要としないUIに適しています。

StatefulWidgetとは?(状態を持つWidget)

StatefulWidgetは、内部に状態(State)を持ち、変更できるWidgetです。
ボタンのクリックやテキスト入力など、ユーザーの操作に応じてUIが変化する場合に使用します。

もっと詳しく知りたい方へ

StatelessWidgetとStatefulWidgetのさらに詳しい仕組みや使い方については、以下の関連記事で解説しています。

Widgetのライフサイクルとは?

FlutterのStatefulWidgetには、ライフサイクルと呼ばれる一連の状態変化の流れがあります。
これは、Widgetが作成されてから破棄されるまでのプロセスを指し、適切に管理することでアプリのパフォーマンスや動作の安定性を向上させることができます。

もっと詳しく知りたい方へ

Widgetのライフサイクルのさらに詳しい仕組みや使い方については、以下の関連記事で解説しています。

よく使われる基本的なWidgetを紹介

Flutterには、アプリ開発に欠かせない基本的なWidgetが多数用意されています。
ここでは、特によく使われるWidgetをいくつか紹介します。

1. Text(テキスト表示)

Textは、画面に文字を表示するための基本的なWidgetです。

Dart
Text(
  'こんにちは、Flutter!',
  style: TextStyle(fontSize: 24, fontWeight: FontWeight.bold),
);

2. Container(レイアウト用ボックス)

Containerは、幅・高さ・色・余白などを設定できる万能なボックスです。

Dart
Container(
  width: 200,
  height: 100,
  color: Colors.blue,
  alignment: Alignment.center,
  child: Text('コンテナ内のテキスト', style: TextStyle(color: Colors.white)),
);

3. Row & Column(横並び・縦並びレイアウト)

複数のWidgetを横方向(Row)や縦方向(Column)に配置できます。

Dart
Row(
  mainAxisAlignment: MainAxisAlignment.spaceAround,
  children: [
    Icon(Icons.star, color: Colors.orange),
    Icon(Icons.star, color: Colors.orange),
    Icon(Icons.star, color: Colors.orange),
  ],
);

4. ElevatedButton(ボタン)

ユーザーの操作を受け付けるボタンです。

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

まとめ

本記事では、FlutterのWidgetの基本概念や使い方について解説しました。
Flutterでは、すべてのUI要素がWidgetで構成されており、適切なWidgetを組み合わせることでアプリを柔軟に設計できるのが特徴です。

特に重要なポイントを振り返りましょう。

 重要なポイント
  • Flutterで画面を構成する最小単位であり、ボタンやテキスト、レイアウトなどもすべてWidget。
  • 状態を持たないStatelessWidgetと、変更可能な状態を持つStatefulWidgetがある。
  • Text、Container、Row、Column、ElevatedButton、Imageなどを活用する。

FlutterのWidgetを理解し、適切に使いこなすことで、効率的に美しいUIを構築できます。
これからFlutterを学ぶ方は、基本的なWidgetを試しながら、アプリ開発に挑戦してみましょう!

ご質問があれば、どうぞお気軽にお尋ねください。
それでは、Happy Fluttering!

当メディアはリンクフリーです。SNSやブログでご紹介いただけると嬉しいです。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です