【问题标题】:Elevation not working on flutter material高程不适用于颤振材料
【发布时间】:2019-04-17 08:41:31
【问题描述】:

我想做一个看起来像 的应用程序,在角落里有那个切片。我可以制作那张幻灯片,但我的应用程序没有那个阴影。

我将我的前层包裹在一个具有高度的材料宽盖内,如示例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),
            ],
          ),
        ),
      ],
    );
  }
}

我是这样使用的:

return Scaffold(
  appBar: appBar,
  body: ShapeLayer(frontLayer: Container(//Some stuff here)

它看起来像这样:

如您所见,它看起来很平坦,完全没有高程。

我该如何解决这个问题?

谢谢!

编辑:正如@SnakeyHips 建议的那样,这是我的应用程序,海拔为 16.0

【问题讨论】:

    标签: dart flutter material-design flutter-layout scaffold


    【解决方案1】:

    将您的海拔从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),
                ],
              ),
            ),
          ],
        );
      }
    }
    

    【讨论】:

    • 我试过了,很难说,但我会说它看起来几乎一样。查看我的编辑
    • 它就在那里,只是很难用那种绿色来分辨。如果您将颜色更改为更浅的颜色,它会更明显。
    • 你是对的,如果我放一个浅绿色的背景,我会看到它,但它是非常微妙的东西。你知道有什么方法可以让影子变强吗?
    • 高程量决定了阴影的“强度”,并且由 Material Design 指南决定,所以如果任何高程值没有达到你想要的强度,那么我不确定还有什么建议.高程的概念是在 Shrine 应用程序中显示一个微妙的阴影,任何比这更暗的东西都会违反 Material Design。正如我所说,我建议背面层选择浅色。
    猜你喜欢
    • 1970-01-01
    • 2020-08-18
    • 2021-12-18
    • 2022-09-26
    • 2021-08-07
    • 1970-01-01
    • 1970-01-01
    • 2020-04-21
    • 2018-05-11
    相关资源
    最近更新 更多