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)