#Container Widgetとは
Container
はStatelessWidgetのサブクラスです。
用途は文字通りコンテナで、HTMLのdiv要素のように領域確保したり他のWidgetを入れたりします。
#設定可能なプロパティ
width:
コンテナの横幅を指定します。
height:
コンテナの縦幅を指定します。
color:
コンテナの色を指定します。
decoration:
ボーダーのスタイルを変更したい場合などに使用します。
color
プロパティとdecoration
プロパティを同時に指定することはできません。
decoration
プロパティを使用しつつコンテナの色を変更する場合は、BoxConstraints
クラスを使用します。
margin:
マージン幅を指定します。
padding:
パディング幅を指定します。
transform:
コンテナを回転させたりすることができます。
child:
子Widgetを1つ指定します。
alignment:
child
プロパティの位置を指定します。
#サンプル
Color
return Scaffold(
body: Container(
color: Colors.green,
),
);
return Scaffold(
body: Container(
color: Colors.green,
margin: EdgeInsets.fromLTRB(10, 20, 30, 40),
),
);
return Scaffold(
body: Container(
color: Colors.green,
margin: EdgeInsets.fromLTRB(10, 20, 30, 40),
transform: Matrix4.rotationZ(0.1),
),
);
return Scaffold(
body: Container(
color: Colors.green,
margin: EdgeInsets.fromLTRB(10, 20, 30, 40),
child: Text('Text'),
),
);
return Scaffold(
body: Container(
color: Colors.green,
margin: EdgeInsets.fromLTRB(10, 20, 30, 40),
padding: EdgeInsets.fromLTRB(10, 20, 50, 80),
child: Text('Text'),
),
);
return Scaffold(
body: Container(
color: Colors.green,
margin: EdgeInsets.fromLTRB(10, 20, 30, 40),
padding: EdgeInsets.fromLTRB(10, 20, 50, 80),
child: Text('Text'),
width: 300.0,
height: 300.0,
),
);
return Scaffold(
body: Container(
color: Colors.green,
margin: EdgeInsets.fromLTRB(10, 20, 30, 40),
child: Text('Text'),
width: 20.0,
height: 15.0,
),
);
return Scaffold(
body: Container(
color: Colors.green,
margin: EdgeInsets.fromLTRB(10, 20, 30, 40),
child: Text('Text'),
width: double.infinity,
height: double.infinity,
),
);
return Scaffold(
body: Container(
color: Colors.green,
margin: EdgeInsets.fromLTRB(10, 20, 30, 40),
padding: EdgeInsets.fromLTRB(10, 20, 50, 80),
child: Text('Text'),
alignment: Alignment.center,
),
);
return Scaffold(
body: Container(
margin: EdgeInsets.fromLTRB(10, 20, 30, 40),
padding: EdgeInsets.fromLTRB(10, 20, 50, 80),
child: Text('Text'),
alignment: Alignment.center,
decoration: BoxDecoration(
color: Colors.amberAccent,
borderRadius: BorderRadius.circular(5.0),
border: Border.all(
color: Colors.black,
width: 3,
),
),
),
);