当前位置: 首页 > 知识库问答 >
问题:

如何设计颤振中的定时器

闾丘鸣
2023-03-14

共有1个答案

万俟飞语
2023-03-14

您可以使用ListWheelScrollView旁边的小部件组合。

class MyHomePage extends StatefulWidget {
  MyHomePage({Key key, this.title}) : super(key: key);
  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            Container(
              height: 200.0,
              child: Stack(
                children: [
                  Row(
                    mainAxisAlignment: MainAxisAlignment.center,
                    children: [
                      _buildHourPicker(),
                      SizedBox(width: 10.0),
                      buildDivider(),
                      SizedBox(width: 10.0),
                      buildMinutePicker(),
                      SizedBox(width: 10.0),
                      buildDivider(),
                      SizedBox(width: 10.0),
                      buildAmPmPicker(),
                      SizedBox(width: 10.0),
                    ],
                  ),
                  IgnorePointer(
                    child: Container(
                      height: 60,
                      decoration: BoxDecoration(
                        gradient: LinearGradient(
                          colors: [Colors.white, Colors.white10],
                          begin: Alignment.topCenter,
                          end: Alignment.bottomCenter,
                        ),
                      ),
                    ),
                  ),
                  IgnorePointer(
                    child: Align(
                      alignment: Alignment.bottomCenter,
                      child: Container(
                        height: 60,
                        decoration: BoxDecoration(
                          gradient: LinearGradient(
                            colors: [Colors.white10, Colors.white],
                            begin: Alignment.topCenter,
                            end: Alignment.bottomCenter,
                          ),
                        ),
                      ),
                    ),
                  ),
                ],
              ),
            ),
          ],
        ),
      ),
    );
  }

  buildDivider() {
    return Text(':', style: TextStyle(
      fontWeight: FontWeight.w600,
      fontSize: 30.0,
    ),);
  }

  Widget _buildHourPicker() {
    return Container(
      width: 50.0,
      height: 200.0,
      child: ListWheelScrollView(
        onSelectedItemChanged: (val) {},
        controller: FixedExtentScrollController(initialItem: 00),
        itemExtent: 40.0,
        // useMagnifier: true,
        children: List<Widget>.generate(
          12,
          (int index) {
            final int displayHour = index + 1;

            return _TimeText(text: displayHour.toString());
          },
        ),
      ),
    );
  }

  buildMinutePicker() {
    return Container(
      width: 50.0,
      height: 200.0,
      child: ListWheelScrollView(
        onSelectedItemChanged: (val) {},
        controller: FixedExtentScrollController(initialItem: 00),
        itemExtent: 40.0,
        // useMagnifier: true,
        children: List<Widget>.generate(
          60,
          (int index) {
            return _TimeText(text: index.toString());
          },
        ),
      ),
    );
  }

  buildAmPmPicker() {
    return Container(
      width: 50.0,
      height: 200.0,
      child: ListWheelScrollView(
        onSelectedItemChanged: (val) {},
        controller: FixedExtentScrollController(initialItem: 0),
        itemExtent: 40.0,
        // useMagnifier: true,
        children: List<Widget>.generate(
          60,
          (int index) {
            return _TimeText(text: index.toString());
          },
        ),
      ),
    );
  }
}

class _TimeText extends StatelessWidget {
  final String text;

  _TimeText({this.text});

  @override
  Widget build(BuildContext context) {
    return Text(
      text.padLeft(2, '0'),
      style: TextStyle(
        fontWeight: FontWeight.w600,
        fontSize: 24.0,
      ),
    );
  }
}
 类似资料:
  • 因此,我在我的Flatter Web项目中实现了RazorPay支付网关。支付网关已成功实现。但我的问题是如何设置索引中定义的Javascript属性。html文件。 index.html 上面的代码是我更新的索引的一小部分。html。我们如何从我的Flatter项目中设置var选项图的键。比如,如果我想更改金额的值,我如何将其从dart文件传递到索引。html。 我的颤振医生 index.htm

  • 我无法在尝试设置平台后修复颤振问题,问题如下所示: https://i.stack.imgur.com/uddfn.png

  • 目前我正在尝试颤振网页,我需要在颤振主频道工作。但是,后来我需要继续我的其他项目。在他们身上,我正在研究颤振稳定通道。 但是,每当我使用命令“flutter channel stable”或“fluter channel master”切换我的flutter通道时,它每次都会重新下载sdk和其他工具。 目前,我已经下载了稳定的颤振sdk和稳定的dart sdk。 我已将它们移动到“FlutterS

  • 在Android中,我们有,<代码>设置。保护ANDROID\u ID。我不知道iOS的等效版本。在flutter中是否有一个flutter插件或一种方法可以为Android和IOS获取唯一的设备id?

  • 我想尝试定义下面的公式来计算旧价格和新价格之间的关系,并在文本小部件上显示它,但当我想在双变量中使用它时,却出现了这样的错误:“只有静态成员可以在初始化器中访问”,这就是我想要做的:

  • 我可以使用“startAfter”和“limit”进行分页,但它有错误。 例如,在Firestore DB中,我有7条记录: 当页面大小为5时,第一页就可以了,因为我使用了: 它给了我1-5项。 当它加载第二页时,我使用了: 问题是第二页结果只有item7,item6消失了。“开始”也有同样的问题。 真希望它有“抵消”功能,有人有解决办法吗?