如何在Flutter中覆盖Checkbox小部件类?

时间:2018-12-21 10:21:09

标签: flutter flutter-layout flutter-animation flutter-test

目前,我已经开始使用Flutter。

如何创建自定义的小部件或覆盖Checkbox小部件类? 我要这样做的原因是我要自定义:

  • 复选框
  • 初始颜色
  • 悬停颜色
  • 专注
  • 按下
  • EnabledSelected
  • DisabledSelected
  • 刻度线渲染

1 个答案:

答案 0 :(得分:0)

Flutter非常赞成使用组合而不是继承,因此扩展Checkbox可能不是正确的方法。

您应该创建一个新的StatefulWidget。 然后,在状态的build方法中,您可以使用自定义参数创建Checkbox或呈现完全自定义的内容。 由于您的列表包含非常自定义的内容,例如更改对勾图标,因此您需要使用后者。

这意味着您将构建一个完全自定义的复选框小部件,而无需依赖现有的小部件。 令人兴奋!

但是,您可能不想从头开始,因此请检查现有Checkbox中的implementation。 可以复制该代码,然后根据需要对其进行自定义。

另一件事:完成后,请考虑与其他Flutter程序员以Pub package的身份共享小部件,如果他们愿意这样做,则可以减轻他们的负担。