我是 Flutter 的新手,我正在尝试实现 Custompainter 以从列表中的数据中绘制交互式图形。应用程序生成一个值列表,我想用图表线将它们可视化。
它看起来像这样:
(...)
class Aplikacja extends StatefulWidget {
const Aplikacja({Key? key}) : super(key: key);
@override
State<Aplikacja> createState() => _AplikacjaState();
}
class _AplikacjaState extends State<Aplikacja> {
(...)
//here the list is being generated and modified, let's say it contains [X, Y, Z, (...), n]
(...)
然后,在同一个类中,我在 Container 中有一个 Custompainter,我想用它来绘制图形以可视化列表值
(...)
Container(
height: 160,
width: double.infinity,
child:
CustomPaint(
foregroundPainter: LinePainter(),
),
),
然后我有一个单独的 LinePainter 类
class LinePainter extends CustomPainter {
@override
void paint(Canvas canvas, Size size) {
var paint = Paint()
..color = Colors.teal
..strokeWidth = 10;
var path = Path();
(...)
//here is a painter logic that draws a line.
// I want it to respond to changing values **X**, **Y**, **Z** and so on, from the above mentioned list
(...)
}
@override
bool shouldRepaint(CustomPainter oldDelegate) {
return true;
}
我正在寻找简单的解决方案,使 LinePainter 类能够“监听”Statefull 小部件中类的数据。我见过复杂的解决方法,但我相信有一种更简单的方法可以做到这一点。
对不起我的英语不好。