Padding
で指定したWidgetの余白を調整する方法を紹介します。
本記事の最後に「サンプルコード」を載せています。
目次
Paddingの使い方
Card(
child: Padding(
padding: EdgeInsets.all(30),
child: HelloText(),
),
),
padding
ではEdgeInsetsGeometry
のサブクラスEdgeInsets
で余白を調整し、child
で外部余白を調整するWidgetを指定します。
今回はHelloText
の外側にEdgeInsets.all(30)
で余白を調整しています。
Paddingあり
Paddingなし
余白の調整|EdgeInsets
EdgeInsets.all
Card(
child: Padding(
padding: EdgeInsets.all(30),
child: HelloText(),
),
),
EdgeInsets.all
では、上下左右全ての方向に同じだけ余白を作ります。
EdgeInsets.fromLTRB
Card(
child: Padding(
padding: EdgeInsets.fromLTRB(20, 50, 80, 100),
child: HelloText(),
),
),
EdgeInsets.fromLTRB
では、上下左右の余白を別々に指定できます。(左、上、右、下側の順に値を渡す。)
EdgeInsets.only
Card(
child: Padding(
padding: EdgeInsets.only(left: 50, top: 100),
child: HelloText(),
),
),
EdgeInsets.only
では、名前付き引数で指定したサイドに余白を作ります。
EdgeInsets.symmetric
child: Card(
child: Padding(
padding: EdgeInsets.symmetric(vertical: 50, horizontal: 100),
child: HelloText(),
),
),
EdgeInsets.symmetric
では、名前付き引数で指定した軸(x軸、y軸)の両側に余白を作ります。
サンプルコード
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('FlutterZero'),
),
body: Card(
child: Padding(
padding: EdgeInsets.all(30),
child: HelloText(),
),
),
),
);
}
}
class HelloText extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Text(
'Hello World',
style: TextStyle(
fontSize: 30,
),
);
}
}
参考サイト