0

如何在颤振容器中创建这个角形卡片视图.. 如何在颤振容器中创建这个角形卡片视图..?

4

1 回答 1

2

您可以通过多种方式归档它,使用

这是一个使用 CustomPaint 的演示,你可以按照自己喜欢的方式修改值。

结果

在此处输入图像描述

画家


class PriceTagPaint extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {
    Paint paint = Paint()
      ..color = Colors.green
      ..strokeCap = StrokeCap.round
      ..style = PaintingStyle.fill;

    Path path = Path();

    path
      ..moveTo(0, size.height * .5)
      ..lineTo(size.width * .13, 0)
      ..lineTo(size.width, 0)
      ..lineTo(size.width, size.height)
      ..lineTo(size.width * .13, size.height)
      ..lineTo(0, size.height * .5)
      ..close();
    canvas.drawPath(path, paint);

    //* Circle
    canvas.drawCircle(
      Offset(size.width * .13, size.height * .5),
      size.height * .15,
      paint..color = Colors.white,
    );
  }

  @override
  bool shouldRepaint(covariant CustomPainter oldDelegate) => false;
}

并使用

SizedBox(
      height: 100,
      width: 300,
      child: CustomPaint(
        painter: PriceTagPaint(),
        child: Center(
          child: Text(
            "Coolant",
            style: TextStyle(
              fontSize: 44,
            ),
          ),
        ),
      ),
    );

检查 dartpadgist

于 2021-09-21T16:14:20.030 回答