Flutter 在Flatter中在容器底部添加阴影?
我有一个简单的屏幕,有一个大约100米高的蓝色容器。我想在容器底部添加阴影或立面 下面是我的代码Flutter 在Flatter中在容器底部添加阴影?,flutter,dart,containers,shadow,box-shadow,Flutter,Dart,Containers,Shadow,Box Shadow,我有一个简单的屏幕,有一个大约100米高的蓝色容器。我想在容器底部添加阴影或立面 下面是我的代码 import 'package:flutter/material.dart'; import 'package:finsec/utils/strings.dart'; import 'package:finsec/utils/dimens.dart'; import 'package:finsec/utils/colors.dart'; void main() { runApp(new In
import 'package:flutter/material.dart';
import 'package:finsec/utils/strings.dart';
import 'package:finsec/utils/dimens.dart';
import 'package:finsec/utils/colors.dart';
void main() {
runApp(new IncomeFragment());
}
class IncomeFragment extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new Stack(
children: <Widget>[
new Container(
height: margin_100dp,
color: colorPrimary,
),
new Container( //container to overlay on top of blue container
alignment: Alignment.topCenter,
child: Column(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Text(
zero_amount,
style: TextStyle(color: white, fontSize: 40.0, fontWeight: FontWeight.bold)
),
],
),
)
],
);
}
}
导入“包装:颤振/材料.省道”;
导入“package:finsec/utils/strings.dart”;
导入“包:finsec/utils/dimens.dart”;
导入“package:finsec/utils/colors.dart”;
void main(){
runApp(新IncomeFragment());
}
类IncomeFragment扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回新堆栈(
儿童:[
新容器(
高度:裕度_100dp,
颜色:colorPrimary,
),
新容器(//要覆盖在蓝色容器顶部的容器
对齐:alignment.topCenter,
子:列(
crossAxisAlignment:crossAxisAlignment.center,
mainAxisSize:mainAxisSize.min,
儿童:[
正文(
零金额,
样式:TextStyle(颜色:白色,字体大小:40.0,字体重量:字体重量。粗体)
),
],
),
)
],
);
}
}
有人能帮我在蓝色容器的底部添加阴影或高程吗
见下图。肖德应该在红色圆圈内
提前感谢使用容器阴影,如下所示:
decoration: BoxDecoration(
boxShadow: [
BoxShadow(
color: Colors.black,
offset: Offset(20.0, 10.0),
blurRadius: 20.0,
spreadRadius: 40.0,
),
],
),
根据您的需要控制blurRadius和SpreadRadius您可以重用堆栈中的第一个容器,该容器有一个名为装饰的属性,它接受BoxEdition类型的小部件,如您在该链接中所见: 在此小部件中,您可以使用boxShadow属性为容器提供自定义阴影,请尝试下一个代码:
new Container(
height: margin_100dp,
decoration: BoxDecoration(
boxShadow: <BoxShadow>[
BoxShadow(
color: Colors.black54,
blurRadius: 15.0,
offset: Offset(0.0, 0.75)
)
],
color: colorPrimary
),
),
新容器(
高度:裕度_100dp,
装饰:盒子装饰(
boxShadow:[
箱形阴影(
颜色:颜色。黑色54,
半径:15.0,
偏移量:偏移量(0.0,0.75)
)
],
颜色:原色
),
),
或者,您可以使用包含高程属性的材质小部件包装容器小部件,以提供阴影效果
Container(
child: Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
Material(
elevation: 15.0,
child: Container(
height: 100,
width: 100,
color: Colors.blue,
child: Center(child: Text("Material",style: TextStyle(color: Colors.white),)),
),
),
SizedBox(width: 100,),
Container(
height: 100,
width: 100,
decoration: BoxDecoration(
boxShadow: <BoxShadow>[
BoxShadow(
color: Colors.black54,
blurRadius: 15.0,
offset: Offset(0.0, 0.75)
)
],
color: Colors.blue
),
child: Center(child: Text('Box Shadow',style: TextStyle(color: Colors.white))),
),
],
),
),
容器(
孩子:排(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
材料(
标高:15.0,
子:容器(
身高:100,
宽度:100,
颜色:颜色,蓝色,
子:居中(子:文本(“材质”,样式:文本样式(颜色:Colors.white),),
),
),
尺寸箱(宽度:100,),
容器(
身高:100,
宽度:100,
装饰:盒子装饰(
boxShadow:[
箱形阴影(
颜色:颜色。黑色54,
半径:15.0,
偏移量:偏移量(0.0,0.75)
)
],
颜色:颜色。蓝色
),
子:居中(子:文本('框阴影',样式:TextStyle(颜色:Colors.white)),
),
],
),
),
图片:
上面显示了两个小部件之间的区别。希望这有帮助 是的,BoxShadow可以解决这个问题,但不是手动添加BoxShadow列表,而是在flift callkElevationToShadow中有一个方便的映射,它将高程键映射到预定义的BoxShadow列表。它也是基于定义的
容器(
身高:60.0,
装饰:盒子装饰(
boxShadow:kElevationToShadow[4],
颜色:主题.of(上下文).bottomAppBarColor,
),
孩子:。。。
);
您还可以使用卡片小部件