主题
装饰-DecoratedBox
DecoratedBox
可以在其子组件绘制前(或后)绘制一些装饰
dart
const DecoratedBox({
Decoration decoration,
DecorationPosition position = DecorationPosition.background,
Widget? child
})
decoration
:代表将要绘制的装饰position
:此属性决定在哪里绘制Decoration
background
:在子组件之后绘制,即背景装饰foreground
:在子组件之上绘制,即前景
BoxDecoration
它是一个Decoration的子类,实现了常用的装饰元素的绘制
dart
BoxDecoration({
Color color, //颜色
DecorationImage image,//图片
BoxBorder border, //边框
BorderRadiusGeometry borderRadius, //圆角
List<BoxShadow> boxShadow, //阴影,可以指定多个
Gradient gradient, //渐变
BlendMode backgroundBlendMode, //背景混合模式
BoxShape shape = BoxShape.rectangle, //形状
})
例子
带阴影的背景色渐变的按钮样式
dart
DecoratedBox(
decoration: BoxDecoration(
gradient: LinearGradient(colors:[Colors.red,Colors.orange.shade700]), //背景渐变
borderRadius: BorderRadius.circular(3.0), //3像素圆角
boxShadow: [ //阴影
BoxShadow(
color:Colors.black54,
offset: Offset(2.0,2.0),
blurRadius: 4.0
)
]
),
child: Padding(
padding: EdgeInsets.symmetric(horizontal: 80.0, vertical: 18.0),
child: Text("click", style: TextStyle(color: Colors.white),),
)
)