项目里用到了星星类的等级评价,在网上找的插件,感觉不是很能满足公司的要求,就自己写了一个,总感觉自己写会轻便些,不知道是不是错觉。
1.工具类如下:(5颗星,10分值)
class CheckStar extends StatefulWidget {
Function(int?)? func;//星星值变更后回调
bool? editable;//是否可编辑
String? value;//初始值
CheckStar({this.func, this.editable, this.value});
@override
_CheckStarState createState() => _CheckStarState();
}
class _CheckStarState extends State<CheckStar> {
double _downx = 0.0;
double _lastdownx = 0.0;
GlobalKey _key = new GlobalKey();
double? starwidth = 0;
double? everystartwidth = 0;
double? lightstars;
double? start;
bool? innerchange = false;
@override
void initState() {
super.initState();
WidgetsBinding.instance?