dart - 小部件上的光泽效果
问题描述
我正在尝试在小部件上添加光泽效果,有点像您在信用卡上看到的效果。我发现了另一个关于磨砂玻璃的问题,但这不是我想要的。
解决方案
I ended up using this Custom Clipper
class CardShinyClipper extends CustomClipper<Path> {
@override
Path getClip(Size size) {
final path = Path();
path.lineTo(size.width, 0.0);
path.lineTo(size.width, size.height / 10);
path.lineTo(size.width / 10, size.height);
path.lineTo(0.0, size.height);
path.close();
return path;
}
@override
bool shouldReclip(CardShinyClipper oldClipper) => false;
}
With this as an item in the stack ontop of my card
Container(
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
),
alignment: AlignmentDirectional.center,
child: ClipPath(
clipper: CardShinyClipper(),
child: Container(
height: 200.0,
width: 300.0,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(10.0),
color: Colors.grey.shade200.withOpacity(0.2),
),
),
),
),
推荐阅读
- javascript - 如何在 javasript 的函数中使用变量?
- keras - keras 和 scikit-learn 中 MLP 回归器的不同损失值和准确度
- amazon-web-services - AWS lambda 能否在特定实例类型上运行 ECR 容器
- reactjs - SSO React 登录,没有 3rd 方库
- swift - Swift 到 Kotlin 之谜
- javascript - JavaScript / HTML 中 JSON 文件的访问问题,无法访问键/值
- python - Power BI 聚合 MongoDB 文档范围内的日期?
- google-apps-script - 根据单元格 (C) 将单元格 (A) 的值复制到另一个单元格 (B)
- mongodb - 如何在 MongoDb 中获取具有最小/最大参数的对象
- autodesk-forge - 您可以在没有 Web 应用程序的情况下使用 3-legged OAuth Token 吗?