颤振:ListWheelScrollView 放大镜不起作用

Posted

技术标签:

【中文标题】颤振:ListWheelScrollView 放大镜不起作用【英文标题】:Flutter: ListWheelScrollView magnifier not working 【发布时间】:2020-12-12 04:47:42 【问题描述】:

ListWheelScrollView 的放大镜是空的(只是一个白色的容器)

ListWheelScrollView(
  itemExtent: 60,
  magnification: 2,
  useMagnifier: true,
  children: List.generate(
     100,
      (index) => Card(
          key: ValueKey(index),
          color: Colors.blue,
          child: ListTile(
            title: Text(index.toString()),
          ))).toList(),
),

我做错了什么? (运行flutter run -vflutter doctor -v没有发现任何问题)

【问题讨论】:

【参考方案1】:
    您可以使用Container 代替Card 并为其设置水平padding
ListWheelScrollView(
  itemExtent: 60,
  magnification: 1.5,
  useMagnifier: true,
  squeeze: 0.7,
  children: List.generate(
    100,
    (index) => Container(
      key: ValueKey(index),
      padding: EdgeInsets.symmetric(horizontal: 100),
      decoration: BoxDecoration(
        color: Colors.blue,
        borderRadius: BorderRadius.circular(8),
      ),
      child: ListTile(
        title: Text(index.toString()),
      ),
    )).toList(),
),

结果:

    除了使用ListTile 和水平padding,您可以将文本放在Center 小部件内,该小部件直接放在Container 内:
ListWheelScrollView(
  itemExtent: 60,
  magnification: 1.5,
  useMagnifier: true,
  squeeze: 0.7,
  children: List.generate(
    100,
    (index) => Container(
      key: ValueKey(index),
      decoration: BoxDecoration(
        color: Colors.blue,
        borderRadius: BorderRadius.circular(8),
      ),
      child: Center(
        child: Text(index.toString()),
      ),
    )).toList(),
),

结果:

【讨论】:

以上是关于颤振:ListWheelScrollView 放大镜不起作用的主要内容,如果未能解决你的问题,请参考以下文章

使用 SAML 进行颤振放大

将文件上传到 S3 时如何传递 ACL 属性以进行颤振放大?

Flutter Widgets 之 ListWheelScrollView

Flutter Widgets 之 ListWheelScrollView

Flutter 炫酷 车轮动效weight ListWheelScrollView

Flutter ListWheelScrollView , 如何添加水平线