Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter CupertinoDatePicker底部无限像素溢出的RenderFlex_Flutter_Dart - Fatal编程技术网

Flutter CupertinoDatePicker底部无限像素溢出的RenderFlex

Flutter CupertinoDatePicker底部无限像素溢出的RenderFlex,flutter,dart,Flutter,Dart,我试图在容器内的CupertinodePicker上方添加一行cancel and done按钮,但无论点击错误,有什么可能出错 ════════ 呈现库捕获到异常═════════════════════════════════ 底部无限像素溢出的RenderFlex。 导致错误的相关小部件已被删除 纵队 String\u selectedDueDate; var formatter=new DateFormat('dd-MM-yyyy'); 列表砖( 领先:const图标(今天的图标), 标

我试图在容器内的CupertinodePicker上方添加一行cancel and done按钮,但无论点击错误,有什么可能出错

════════ 呈现库捕获到异常═════════════════════════════════ 底部无限像素溢出的RenderFlex。 导致错误的相关小部件已被删除 纵队

String\u selectedDueDate;
var formatter=new DateFormat('dd-MM-yyyy');
列表砖(
领先:const图标(今天的图标),
标题:常量文本(“到期日*”),
字幕:_selectedDueDate
onTap:(){
showcupbertinomodalpopup(
上下文:上下文,
生成器:(上下文){
返回容器(
颜色:颜色,白色,
高度:300.0,
子:列(
儿童:[
划船(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
扁平按钮(
形状:圆形矩形边框(
边界半径:边界半径。零),
子:文本(
“取消”,
),
按下:()=>{},
),
扁平按钮(
形状:圆形矩形边框(
边界半径:边界半径。零),
子:文本(
“完成”,
),
按下:()=>{},
),
],
),
Cupertinodepicker(
初始日期时间:
DateTime.now().add(新的持续时间(天:7)),
minimumDate:DateTime.now(),
模式:CupertinodeTatePickerMode.date,
onDateTimeChanged:(日期){
设置状态(){
打印(日期);
_selectedDueDate=formatter.format(日期);
});
},
),
],
),
);
});
},
),

CupertinodePicker
包装在
容器中
并设置所需的
高度

您可以在下面复制粘贴运行完整代码
您可以使用
Flexible

代码片段

 Flexible(
        child: CupertinoDatePicker(
工作演示

完整代码

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  String _selectedDueDate;
  var formatter = new DateFormat('dd-MM-yyyy');

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListTile(
        leading: const Icon(Icons.today),
        title: const Text('Due Date*'),
        subtitle: Text("$_selectedDueDate"),
        onTap: () {
          showCupertinoModalPopup(
              context: context,
              builder: (context) {
                return Container(
                  color: Colors.white,
                  height: 300.0,
                  child: Column(
                    children: <Widget>[
                      Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: <Widget>[
                          FlatButton(
                            shape: RoundedRectangleBorder(
                                borderRadius: BorderRadius.zero),
                            child: Text(
                              "Cancel",
                            ),
                            onPressed: () => {},
                          ),
                          FlatButton(
                            shape: RoundedRectangleBorder(
                                borderRadius: BorderRadius.zero),
                            child: Text(
                              "Done",
                            ),
                            onPressed: () => {},
                          ),
                        ],
                      ),
                      Flexible(
                        child: CupertinoDatePicker(
                          initialDateTime:
                              DateTime.now().add(new Duration(days: 7)),
                          minimumDate: DateTime.now(),
                          mode: CupertinoDatePickerMode.date,
                          onDateTimeChanged: (date) {
                            setState(() {
                              print(date);
                              _selectedDueDate = formatter.format(date);
                            });
                          },
                        ),
                      ),
                    ],
                  ),
                );
              });
        },
      ),
    );
  }
}
import'包装:flift/cupertino.dart';
进口“包装:颤振/材料.省道”;
导入“包:intl/intl.dart”;
void main(){
runApp(MyApp());
}
类MyApp扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回材料PP(
标题:“颤振演示”,
主题:主题数据(
主样本:颜色。蓝色,
视觉密度:视觉密度。自适应平台密度,
),
主页:MyHomePage(标题:“颤振演示主页”),
);
}
}
类MyHomePage扩展StatefulWidget{
MyHomePage({Key,this.title}):超级(Key:Key);
最后的字符串标题;
@凌驾
_MyHomePageState createState()=>\u MyHomePageState();
}
类_MyHomePageState扩展状态{
字符串_selectedDueDate;
var formatter=new DateFormat('dd-MM-yyyy');
@凌驾
小部件构建(构建上下文){
返回脚手架(
appBar:appBar(
标题:文本(widget.title),
),
正文:ListTile(
领先:const图标(今天的图标),
标题:常量文本(“到期日*”),
副标题:文本(“$\u selectedDueDate”),
onTap:(){
showcupbertinomodalpopup(
上下文:上下文,
生成器:(上下文){
返回容器(
颜色:颜色,白色,
高度:300.0,
子:列(
儿童:[
划船(
mainAxisAlignment:mainAxisAlignment.spaceBetween,
儿童:[
扁平按钮(
形状:圆形矩形边框(
边界半径:边界半径。零),
子:文本(
“取消”,
),
按下:()=>{},
),
扁平按钮(
形状:圆形矩形边框(
边界半径:边界半径。零),
子:文本(
“完成”,
),
按下:()=>{},
),
],
),
灵活的(
孩子:Cupertinodepicker(
初始日期时间:
DateTime.now().add(新的持续时间(天:7)),
minimumDate:DateTime.now(),
模式:CupertinodeTatePickerMode.date,
onDateTimeChanged:(日期){
设置状态(){
打印(日期);
_selectedDueDate=formatter.format(日期);
})
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:intl/intl.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
        visualDensity: VisualDensity.adaptivePlatformDensity,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

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

  final String title;

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

class _MyHomePageState extends State<MyHomePage> {
  String _selectedDueDate;
  var formatter = new DateFormat('dd-MM-yyyy');

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: ListTile(
        leading: const Icon(Icons.today),
        title: const Text('Due Date*'),
        subtitle: Text("$_selectedDueDate"),
        onTap: () {
          showCupertinoModalPopup(
              context: context,
              builder: (context) {
                return Container(
                  color: Colors.white,
                  height: 300.0,
                  child: Column(
                    children: <Widget>[
                      Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        children: <Widget>[
                          FlatButton(
                            shape: RoundedRectangleBorder(
                                borderRadius: BorderRadius.zero),
                            child: Text(
                              "Cancel",
                            ),
                            onPressed: () => {},
                          ),
                          FlatButton(
                            shape: RoundedRectangleBorder(
                                borderRadius: BorderRadius.zero),
                            child: Text(
                              "Done",
                            ),
                            onPressed: () => {},
                          ),
                        ],
                      ),
                      Flexible(
                        child: CupertinoDatePicker(
                          initialDateTime:
                              DateTime.now().add(new Duration(days: 7)),
                          minimumDate: DateTime.now(),
                          mode: CupertinoDatePickerMode.date,
                          onDateTimeChanged: (date) {
                            setState(() {
                              print(date);
                              _selectedDueDate = formatter.format(date);
                            });
                          },
                        ),
                      ),
                    ],
                  ),
                );
              });
        },
      ),
    );
  }
}