답변:
다음은 확장 된 답변입니다. A DecoratedBox
는 테두리를 추가해야하지만 Container
여백과 패딩을 추가하기 위해 편의를 사용하고 있습니다.
일반적인 설정은 다음과 같습니다.
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 Cheat Sheet 를 읽으십시오 .
가장 좋은 방법은 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"),
)