高程不适用于颤振材料

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

海拔 16.0

Sna*_*ips 9

将您的海拔从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)