cupertinoTimepicker 在颤振中没有正确显示

问题描述

cupertinoTimepicker 在颤振中没有正确显示

我编写了 cupertinoTimerpicker 代码,但无法正确显示

在我看来,我混合了一些功能,因此无法看到这个cupertinoTimePicker。

我该怎么办?

class CountDownTimer extends StatefulWidget {
  @override
  _CountDownTimerState createState() => _CountDownTimerState();
}


class _CountDownTimerState extends State<CountDownTimer>
    with TickerProviderStateMixin {

  AnimationController controller;
  Duration initialtimer = new Duration();
  int selectitem = 1;


  String get timerString {
    Duration duration = controller.duration * controller.value;
    return '${duration.inMinutes}:${(duration.inSeconds % 60).toString().padLeft(2,'0')}';
  }

  @override
  void initState() {
    super.initState();
    controller = AnimationController(
      vsync: this,duration: Duration(seconds: 600),);
  }

  Widget timePicker() {
    return CupertinoTimerPicker(
      mode: CupertinoTimerPickerMode.hms,minuteInterval: 1,secondInterval: 1,initialTimerDuration: initialtimer,onTimerDurationChanged: (Duration changedtimer) {
        setState(() {
          initialtimer = changedtimer;
          time =
              (changedtimer.inMinutes % 60).toString() +
              ' mins ' +
              (changedtimer.inSeconds % 60).toString() +
              ' secs';
        });
      },);
  }

  Future<void> bottomSheet(BuildContext context,Widget child,{double height}) {
    return showModalBottomSheet(
        isScrollControlled: false,shape: RoundedRectangleBorder(
            borderRadius: BorderRadius.only(
                topLeft: Radius.circular(13),topRight: Radius.circular(13))),backgroundColor: Colors.white,context: context,builder: (context) => Container(
            height: height ?? MediaQuery.of(context).size.height / 3,child: child));
  }

  Widget button(String text,{Function onpressed,Color color}) {
    return Container(
      width: 200,height: 50,margin: EdgeInsets.symmetric(vertical: 5),color: color ?? Colors.redAccent,child: MaterialButton(
          child: Text(
            '$text',style: TextStyle(color: Colors.white),),onpressed: onpressed),);
  }

  String time;

  @override
  Widget build(BuildContext context) {
    ThemeData themeData = Theme.of(context);
    return Scaffold(
      backgroundColor: Colors.white10,body: AnimatedBuilder(
          animation: controller,builder: (context,child) {
            return Stack(
              children: <Widget>[
                Align(
                  alignment: Alignment.bottomCenter,child:
                  Container(
                    color: Colors.Amber,height:
                    controller.value * MediaQuery.of(context).size.height,Padding(
                  padding: EdgeInsets.all(8.0),child: Column(
                    mainAxisAlignment: MainAxisAlignment.spaceBetween,children: <Widget>[
                      Expanded(
                        child: Align(
                          alignment: FractionalOffset.center,child: AspectRatio(
                            aspectRatio: 1.0,child: Stack(
                              children: <Widget>[
                                Positioned.fill(
                                  child: CustomPaint(
                                      painter: CustomTimerPainter(
                                        animation: controller,color: themeData.indicatorColor,)),Align(
                                  alignment: FractionalOffset.center,child: Column(
                                    mainAxisAlignment:
                                    MainAxisAlignment.spaceEvenly,crossAxisAlignment:
                                    CrossAxisAlignment.center,children: <Widget>[
                                      Text(
                                        "Count Down Timer",style: TextStyle(
                                            fontSize: 20.0,color: Colors.white),Text(
                                        timerString,style: TextStyle(
                                            fontSize: 112.0,],AnimatedBuilder(
                          animation: controller,child) {

                            return Column(

                              children: [

                                FloatingActionButton.extended(
                                    onpressed: () {
                                      if (controller.isAnimating)
                                        controller.stop();
                                      else {
                                        controller.reverse(
                                            from: controller.value == 0.0
                                                ? 1.0
                                                : controller.value);
                                      }
                                    },icon: Icon(controller.isAnimating
                                        ? Icons.pause
                                        : Icons.play_arrow),label: Text(
                                        controller.isAnimating ? "Pause" : "Play")),button(
                                  "Cupertino Timer Picker",color: Colors.green,onpressed: () {
                                    bottomSheet(context,timePicker());
                                  },time == null ? Container() : Text('$time'),);
                          }),);
          }),);
  }

我指的是这个页面 https://gist.github.com/maheshmnj/f35813e62ae1a24cbd3acc71f797701d

enter image description here

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...