如何移除Flutter Cupertino DateTime Picker滚轮的变形倾斜效果
解决flutter_cupertino_datetime_picker滚轮数字弯曲变形问题
我正在使用flutter_cupertino_datetime_picker插件,想要修改滚轮消除数字的弯曲变形效果(见截图),让数字无变形显示。这个插件默认是无变形的目标样式,但我修改了插件核心代码后,滚轮变成了现在的弯曲样式。我使用的Widget代码如下:
Container( margin: EdgeInsets.only(top: 8.0, bottom: 40.0), child: DateTimePickerWidget( dateFormatSeparator: ':', minDateTime: DateTime.parse(MIN_DATETIME), maxDateTime: DateTime.parse(MAX_DATETIME), initDateTime: DateTime.now(), dateFormat: DATE_FORMAT, minuteDivider: 1, pickerTheme: const DateTimePickerTheme( showTitle: false, itemTextStyle: TextStyle( fontWeight: FontWeight.w700, fontSize: 16, fontFamily: Fonts.satoshi), backgroundColor: AmbarColors.contentInverse), onChange: (dateTime, selectedIndex) { setState(() { _dateTime = dateTime; }); }, ), )
修复步骤
- 定位插件核心中负责滚轮绘制的文件(通常命名类似
picker_wheel.dart或cupertino_picker.dart) - 查找代码中是否存在透视变换或基于位置的非线性缩放逻辑:
- 比如使用
Matrix4.perspective()添加透视效果的代码 - 或者根据item与选中项的距离动态调整文本缩放比例的逻辑
- 比如使用
- 移除或修改这些变形代码:
- 删除透视变换相关的Matrix4配置
- 将动态缩放比例改为固定值
1.0,确保所有滚轮项的文本大小和位置一致
- 保存修改后重新运行项目,即可恢复无变形的滚轮样式
内容的提问来源于stack exchange,提问作者rafa_pe
相关产品推荐
相关产品推荐

