回答:
ここに拡張された答えがあります。A DecoratedBox
はボーダーを追加するために必要なものですが、私はContainer
マージンとパディングを追加するためにa を使用しています。
一般的な設定は次のとおりです。
Widget myWidget() {
return Container(
margin: const EdgeInsets.all(30.0),
padding: const EdgeInsets.all(10.0),
decoration: myBoxDecoration(), // <--- BoxDecoration here
child: Text(
"text",
style: TextStyle(fontSize: 30.0),
),
);
}
どこBoxDecoration
で
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border.all(),
);
}
これらは、境界線の幅を持っている1
、3
と10
それぞれ。
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border.all(
width: 1, // <--- border width here
),
);
}
これらのボーダー色があります
Colors.red
Colors.blue
Colors.green
コード
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border.all(
color: Colors.red, // <--- border color
width: 5.0,
),
);
}
これらの境界面があります
コード
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border(
left: BorderSide( // <--- left side
color: Colors.black,
width: 3.0,
),
top: BorderSide( // <--- top side
color: Colors.black,
width: 3.0,
),
),
);
}
これらは、国境半径を有し5
、10
および30
それぞれ。
BoxDecoration myBoxDecoration() {
return BoxDecoration(
border: Border.all(
width: 3.0
),
borderRadius: BorderRadius.all(
Radius.circular(5.0) // <--- border radius here
),
);
}
DecoratedBox
/ BoxDecoration
は非常に柔軟です。さらに多くのアイデアについては、Flutter — BoxDecorationチートシートをお読みください。
最良の方法はBoxDecoration()を使用することです
利点
不利益
BoxDecoration
Container
ウィジェットでのみ使用するため、ウィジェットをラップしたいContainer()
例
Container(
margin: EdgeInsets.all(10),
padding: EdgeInsets.all(10),
alignment: Alignment.center,
decoration: BoxDecoration(
color: Colors.orange,
border: Border.all(
color: Colors.pink[800],// set border color
width: 3.0), // set border width
borderRadius: BorderRadius.all(
Radius.circular(10.0)), // set rounded corner radius
boxShadow: [BoxShadow(blurRadius: 10,color: Colors.black,offset: Offset(1,3))]// make rounded corner of border
),
child: Text("My demo styling"),
)