-
Flutter - BoxDecoration 만들기 [9]Flutter 2021. 1. 16. 16:53728x90반응형
1. color
색깔을 지정할 수 있다.
class MainPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Container( height: 150, width: 150, alignment: Alignment.center, decoration: BoxDecoration( color: Colors.red, ), child: Text('Main'), ) ) ); } }
2. image
이미지를 지정할 수 있다.
class MainPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Container( height: 150, width: 150, alignment: Alignment.center, decoration: BoxDecoration( color: Colors.red, image: DecorationImage( image: AssetImage( 'images/flutter1.png' ) ) ), child: Text('Main'), ) ) ); } }
3. border
테두리를 지정할 수 있다.
class MainPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Container( height: 150, width: 150, alignment: Alignment.center, decoration: BoxDecoration( color: Colors.red, border: Border.all( color: Colors.black, style: BorderStyle.solid, width: 10 ) ), child: Text('Main'), ) ) ); } }
4. shape
모양을 바꿀 수 있다.
class MainPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Container( height: 150, width: 150, alignment: Alignment.center, decoration: BoxDecoration( color: Colors.red, shape: BoxShape.circle ), child: Text('Main'), ) ) ); } }
5. borderRadius
테두리를 둥글게 할 수 있다.
class MainPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Container( height: 150, width: 150, alignment: Alignment.center, decoration: BoxDecoration( color: Colors.red, borderRadius: BorderRadius.circular(10.0) ), child: Text('Main'), ) ) ); } }
- vertical, horizontal
위아래, 왼쪽오른쪽만 radius를 설정할 수 있다.
borderRadius: BorderRadius.vertical( bottom: Radius.circular(10) )
6. gradient
Gradient를 설정한다.
class MainPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Container( height: 150, width: 150, alignment: Alignment.center, decoration: BoxDecoration( color: Colors.red, gradient: LinearGradient( begin: Alignment.topLeft, end: Alignment.bottomRight, colors: [ Colors.red, Colors.blue, ] ) ), child: Text('Main'), ) ) ); } }
- 색깔과 위치를 더 지정할 수 있다.
colors: [ Colors.red, Colors.yellow, Colors.green, Colors.blue, ], stops: [0.1, 0.4, 0.6, 0.9]
7. boxShadow
네모모양의 그림자를 여러개 넣을 수 있다.
class MainPage extends StatelessWidget { @override Widget build(BuildContext context) { return Scaffold( body: Center( child: Container( height: 150, width: 150, alignment: Alignment.center, decoration: BoxDecoration( color: Colors.red, boxShadow: [ BoxShadow( color: Colors.grey, blurRadius: 5.0, spreadRadius: 3.0, ), ], ), child: Text('Main'), ))); } }
- 그림자의 위치를 수정 할 수 있다.
boxShadow: [ BoxShadow( color: Colors.grey, blurRadius: 5.0, spreadRadius: 3.0, offset: Offset( 3, 3, )), ]
8. backgroundBlendMode
이미지에 필터를 적용한다.
https://api.flutter.dev/flutter/dart-ui/BlendMode-class.html
728x90반응형'Flutter' 카테고리의 다른 글
Flutter - 코로나 어플 만들기 [2] (0) 2021.01.24 Flutter - 코로나 어플 만들기 [1] (2) 2021.01.19 Flutter - Drawer 만들기 [8] (0) 2021.01.02 Flutter - Page 이동하기 (Navigator.push, Navigator.pushNamed) [7] (0) 2021.01.02 Flutter - Button 만들기 (RaisedButton, FlatButton, IconButton, FloatingActionButton, CustomButton) [6] (0) 2021.01.02