Flutter 如何根据从外部传递的更改值动态更改自定义小部件中成员的值

Flutter 如何根据从外部传递的更改值动态更改自定义小部件中成员的值,flutter,flutter-layout,flutter-dependencies,flutter-animation,flutter-widget,Flutter,Flutter Layout,Flutter Dependencies,Flutter Animation,Flutter Widget,我是个新手。 我试图制作一个自定义小部件,它使用贝塞尔曲线绘制一个胶粘的圆,该圆根据滑块的值改变其位置 我制作了一个gif来显示我在做什么 问题是,我需要根据_sliderValue更改胶粘圆的位置(进度),但似乎GooeyCircleWidget中的进度保持初始值,并且在滑块移动时从不更改。我希望它被动态地传递到小部件中,有人能帮我找到我应该做什么吗?谢谢 GooeyCircleWidget( progress: _sliderValue,

我是个新手。 我试图制作一个自定义小部件,它使用贝塞尔曲线绘制一个胶粘的圆,该圆根据滑块的值改变其位置

我制作了一个gif来显示我在做什么

问题是,我需要根据_sliderValue更改胶粘圆的位置(进度),但似乎GooeyCircleWidget中的
进度
保持初始值,并且在滑块移动时从不更改。我希望它被动态地传递到小部件中,有人能帮我找到我应该做什么吗?谢谢

GooeyCircleWidget(
              progress: _sliderValue,
              color: Colors.blue,
            ),
类GooeyCircleWidget扩展StatefulWidget{
颜色;
双重进步;
_GooeyCircleWidgetState createState()=>\u GooeyCircleWidgetState(
进展:进展,
颜色:颜色,
);
白痴({
@需要这个进度,
这个颜色
});å
}
类GooeyCircleWidgetState扩展了状态
使用SingleTickerProviderStateMixin{
最终双倍进展;
动画控制器;
最终颜色;
_GooeyCircleWidgetState(
{@required this.progress,
这是一种颜色});
@凌驾
void initState(){
super.initState();
控制器=动画控制器(vsync:this);
}
@凌驾
小部件构建(构建上下文){
印刷(进度);
//TODO:实现构建
返回自定义油漆(
画家:动画画师(
进展:进展,
颜色:颜色,
),
尺寸:尺寸(1080200),
);
}
}

不要将变量从GooeyCircleWidget传递到_GooeyCircleWidgetState的构造函数中。改用
小部件。

像这样:

类GooeyCircleWidget扩展StatefulWidget{
颜色;
双重进步;
@凌驾
_GooeyCircleWidgetState createState()=>\u GooeyCircleWidgetState();
白痴({
@需要这个进度,
这个颜色,
});
}
类GooeyCircleWidgetState扩展了状态
使用SingleTickerProviderStateMixin{
动画控制器;
@凌驾
void initState(){
super.initState();
控制器=动画控制器(vsync:this);
}
@凌驾
小部件构建(构建上下文){
打印(widget.progress);
//TODO:实现构建
返回自定义油漆(
画家:动画画师(
进度:widget.progress,
颜色:widget.color
),
尺寸:尺寸(1080200),
);
}
}

不要将变量从GooeyCircleWidget传递到_GooeyCircleWidgetState的构造函数中。改用
小部件。

像这样:

类GooeyCircleWidget扩展StatefulWidget{
颜色;
双重进步;
@凌驾
_GooeyCircleWidgetState createState()=>\u GooeyCircleWidgetState();
白痴({
@需要这个进度,
这个颜色,
});
}
类GooeyCircleWidgetState扩展了状态
使用SingleTickerProviderStateMixin{
动画控制器;
@凌驾
void initState(){
super.initState();
控制器=动画控制器(vsync:this);
}
@凌驾
小部件构建(构建上下文){
打印(widget.progress);
//TODO:实现构建
返回自定义油漆(
画家:动画画师(
进度:widget.progress,
颜色:widget.color
),
尺寸:尺寸(1080200),
);
}
}
class GooeyCircleWidget extends StatefulWidget {
  Color color;
  double progress ;

  _GooeyCircleWcoloridgetState createState() => _GooeyCircleWidgetState(
    progress: progress,
    color:color,
  );
  GooeyCircleWidget({
   @required this.progress,
   this.color
});å
}

class _GooeyCircleWidgetState extends State<GooeyCircleWidget>
    with SingleTickerProviderStateMixin {
  final double progress;
  AnimationController controller;
  final Color color;

  _GooeyCircleWidgetState(
      {@required this.progress,
        this.color});


  @override
  void initState() {
    super.initState();
    controller = AnimationController(vsync: this);


  }


  @override
  Widget build(BuildContext context) {
    print(progress);
    // TODO: implement build
    return CustomPaint(
      painter: AnimatedCirclePainter( 
      progress: progress,
      color: color,
      ),
      size: Size(1080, 200),
    );
  }
}