Flutter:无法打开CustomPainter类

问题描述 投票:0回答:1

我在实现CustomPainter类时遇到问题,在每个教程中都不知道我的错误,他们像我一样做一样,希望有人知道解决方案。

class _MyHomepageState extends State<MyHomepage> {
  var _name;

  final nameCon = new TextEditingController();
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(
          'App',
          style: TextStyle(fontWeight: FontWeight.w900),
        ),
        backgroundColor: Colors.brown[500],
      ),
      body: Center(
        child: Padding(
          padding: const EdgeInsets.all(10),
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              TextField(
                controller: nameCon,
                decoration: InputDecoration(hintText: "Name"),
              ),
              RaisedButton(
                onPressed: () {
                  setState(() {


                    _name = nameCon.text;
                  });
                },
                child: Text("Los"),
              ),
              Text("hier $_name "),
             Expanded(
                child: LayoutBuilder(
                  builder: (_, constraints) => Container(
                    width: constraints.widthConstraints().maxWidth,
                    height: constraints.heightConstraints().maxHeight,
                    color: Colors.yellow,
                    child: CustomPaint(painter: Thermometer()),
                  ),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

class Thermometer extends CustomPainter {
  @override
  void paint(Canvas canvas, Size size) {

final paint = Paint()
   ..color = Colors.brown
    ..style = PaintingStyle.stroke
    ..style=PaintingStyle.fill
    ..strokeWidth = 4;

    canvas.drawRRect(

    RRect.fromRectAndRadius(Rect.fromLTWH(-140, -60, 40, 290),
    Radius.circular(20)),
    paint,);
  }

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

  }
flutter canvas paint
1个回答
0
投票

您可以在下面复制粘贴运行完整代码

请将left-140更改为0或其他值

© www.soinside.com 2019 - 2024. All rights reserved.