小编kar*_*enr的帖子

如何触摸画布?

Flutter 新手在这里。我目前正在尝试使用 Flutter 构建一个简单的触摸绘图应用程序,但无法弄清楚如何触发画布重新绘制。

我所拥有的是:我有一个包含 GestureDetector 子项的 CustomPaint 小部件。每当发生触摸事件时,CustomPaint 的画家都会收到一条消息,并存储触摸坐标以在重新绘制时绘制路径。问题是,paint 方法从未被调用。

这是我到目前为止的代码:

import 'package:flutter/material.dart';

class WriteScreen extends StatefulWidget {
  @override
  _WriteScreenState createState() => new _WriteScreenState();
}


class KanjiPainter extends CustomPainter {
  Color strokeColor;
  var strokes = new List<List<Offset>>();

  KanjiPainter( this.strokeColor );

  void startStroke(Offset position) {
    print("startStroke");
    strokes.add([position]);
  }

  void appendStroke(Offset position) {
    print("appendStroke");
    var stroke = strokes.last;
    stroke.add(position);
  }

  void endStroke() {
  }

  @override
  void paint(Canvas canvas, Size size) {
    print("paint!");
    var rect = Offset.zero & size;
    Paint fillPaint = …
Run Code Online (Sandbox Code Playgroud)

dart flutter

3
推荐指数
1
解决办法
4118
查看次数

标签 统计

dart ×1

flutter ×1