[Flutter]Containerって何?

FlutterのContainerは、UIを構築するためのウィジェットの1つであり、矩形のコンテナを作成するために使用されます。Containerには多くのプロパティがあり、ウィジェットをカスタマイズするために使用することができます。この記事では、FlutterのContainerについて、主なプロパティとそれらがどのように機能するかについて説明します。

ウィジットの基本構文は以下のとおりです。

Container(
  // properties
  child: ...
)

ここでは主要なContainerプロパティを記載します。

目次

child

Containerの子ウィジェットを指定します。例えば、Container内にテキストを表示する場合は、Textウィジェットをchildプロパティに渡します。

Container(
  child: Text('Hello World!'),
)

width、height

Containerの幅と高さを指定します。これらのプロパティは、Containerが表示されるスペースを制御します。

Container(
  width: 100,
  height: 100,
  child: ...
)

color

Containerの背景色を指定します。

Container(
  color: Colors.red,
  child: ...
)

colorについては以下にまとめてみました。

下記、decorationを利用する場合、この color プロパティを利用できません。(エラーになる)
decoration内の color で設定してください。

padding

Container内の子ウィジェットの余白を指定します。

Container(
  padding: EdgeInsets.all(16.0),
  child: ...
)

margin

Containerの余白を指定します。

Container(
  margin: EdgeInsets.all(16.0),
  child: ...
)

decoration

Containerの装飾を指定します。このプロパティは、Containerの背景、境界線、角丸などをカスタマイズするために使用されます。

Container(
  decoration: BoxDecoration(
    color: Colors.red,
    borderRadius: BorderRadius.circular(10.0),
  ),
  child: ...
)

上記、colorを利用する場合、この decoration プロパティを利用できません。(エラーになる)

サンプルコード

上記をプロパティを組み合わせたサンプルコード及び、実行例はイアkの通りです。

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'My App',
      home: MyHomePage(),
    );
  }
}

class MyHomePage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Container(
      child: Text('Hello World!',
          style: Theme.of(context).textTheme.headlineMedium),
      margin: EdgeInsets.all(16.0),
      padding: EdgeInsets.all(16.0),
      decoration: BoxDecoration(
        color: Color.fromARGB(255, 54, 244, 152),
        borderRadius: BorderRadius.circular(10.0),
      ),
    );
  }
}

まとめ

FlutterのContainerは、UIを構築するための強力なウィジェットであり、多くのプロパティを持っています。この記事では、主なプロパティとそれらがどのように機能するかについて説明しました。これらのプロパティを適切に使用することで、ウィジェットをカスタマイズし、美しいUIを作成することができます。

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