Isa*_*aac 5 scaffold dart material-design flutter flutter-layout
我想做一个看起来像这样的应用程序
与角落上的那片。我可以制作那张幻灯片,但我的应用程序没有那个阴影。
我将我的前层包裹在一个像MDC-104示例中那样具有高度的材料宽幅内。
这是我进行切割的代码
import 'package:flutter/material.dart';
class ShapeLayer extends StatelessWidget {
final Widget frontLayer;
final Widget backLayer = Container(
color: Colors.green,
);
ShapeLayer({Key key, this.frontLayer}) : super(key: key);
@override
Widget build(BuildContext context) {
return Stack(
children: <Widget>[
backLayer,
Material(
elevation: 60.0,
shape: BeveledRectangleBorder(
borderRadius: BorderRadius.only(topLeft: Radius.circular(46.0)),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Expanded(child: frontLayer),
],
),
),
],
);
}
}
Run Code Online (Sandbox Code Playgroud)
我像这样使用它:
return Scaffold(
appBar: appBar,
body: ShapeLayer(frontLayer: Container(//Some stuff here)
Run Code Online (Sandbox Code Playgroud)
如您所见,它看起来很平坦,根本没有高度。
我怎样才能解决这个问题?
谢谢!
编辑:正如@SnakeyHips 所建议的,这是我的应用程序,海拔高度为 16.0
将您的海拔从60.0改为16.0应该这样做:
import 'package:flutter/material.dart';
class ShapeLayer extends StatelessWidget {
final Widget frontLayer;
final Widget backLayer = Container(
color: Colors.green,
);
ShapeLayer({Key key, this.frontLayer}) : super(key: key);
@override
Widget build(BuildContext context) {
return Stack(
children: <Widget>[
backLayer,
Material(
elevation: 16.0,
shape: BeveledRectangleBorder(
borderRadius: BorderRadius.only(topLeft: Radius.circular(46.0)),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.stretch,
children: <Widget>[
Expanded(child: frontLayer),
],
),
),
],
);
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15876 次 |
| 最近记录: |