Rate 评分 
用于对事物进行快速评分的组件。
实现原理 
使用 MouseRegion 嵌套 GestureDetector、Container、Icon、Text 等组件实现评分交互和样式。
基础用法 
通过设置 value 和 onChanged 属性来实现评分的基本交互。
允许半选 
设置 allowHalf 属性可以支持半星评分。
显示文字 
设置 showText 并传入 texts 属性,可以为每个评分值显示对应的文字描述。
显示分数 
设置 showScore 属性可以显示当前分数,scoreTemplate 可自定义分数字符串格式。
自定义颜色 
通过 colors 属性自定义不同分值区间的颜色,或通过 colorType 设置主题色。
不同尺寸 
通过 size 属性设置不同尺寸,或通过 customSize、customFontSize 自定义 icon 和文字大小。
API 
Rate 属性 
| 属性名 | 说明 | 类型 | 默认值 | 
|---|---|---|---|
| value | 当前分值 | double | 0 | 
| max | 最大分值 | double | 5 | 
| disabled | 是否禁用 | bool | false | 
| allowHalf | 是否允许半选 | bool | false | 
| showText | 是否显示文字描述 | bool | false | 
| showScore | 是否显示分数 | bool | false | 
| clearable | 是否可清空评分 | bool | false | 
| size | 评分组件尺寸(large/medium/small) | ESizeItem | medium | 
| customSize | 自定义 icon 尺寸 | double? | - | 
| customFontSize | 自定义文字尺寸 | double? | - | 
| colorType | 主题色类型 | EColorType | primary | 
| texts | 文字描述数组(需与 max 保持一致) | List<String>? | - | 
| scoreTemplate | 分数字符串模板,{value} 占位当前分数 | String? | - | 
| colors | 分值区间颜色数组(1/3/自定义) | List<Color>? | - | 
| onChanged | 分值变化回调 | ValueChanged<double> | - |