You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 07:52:38