Dart 表单通过键盘和;如何删除下拉箭头

Dart 表单通过键盘和;如何删除下拉箭头,dart,flutter,Dart,Flutter,我正在尝试开发一个输入表单,目前页面如下所示,非常好: 然而,有几件事我不知道如何去完成: 如何删除下拉箭头图标 当用户点击文本字段输入日期时,键盘会打开并粉碎所有用户界面,如下图所示 有没有办法截取文本字段上的点击动作,这样我就可以阻止键盘打开,而是显示一个日期选择器?(因此用户将看到文本字段,但无法手动编辑。) 当用户点击文本字段旁边的图标时,我已经打开了一个日期选择器 以下是键盘打开时的外观: 此页的代码很长,因此下面是完整的代码。1。和2。是直接的答案: 您可以将小部件中的图标指定为

我正在尝试开发一个输入表单,目前页面如下所示,非常好:

然而,有几件事我不知道如何去完成:

  • 如何删除下拉箭头图标
  • 当用户点击文本字段输入日期时,键盘会打开并粉碎所有用户界面,如下图所示
  • 有没有办法截取文本字段上的点击动作,这样我就可以阻止键盘打开,而是显示一个日期选择器?(因此用户将看到文本字段,但无法手动编辑。) 当用户点击文本字段旁边的图标时,我已经打开了一个日期选择器 以下是键盘打开时的外观:


    此页的代码很长,因此下面是完整的代码。

    1。2。是直接的答案:

    您可以将小部件中的图标指定为
    0.0
    ,这样可以有效地删除图标:

    由于,您需要在
    文本
    小部件中添加
    填充

    DropdownMenuItem<Project>(
      value: value,
      child: Padding(
          padding: EdgeInsets.only(right: 20.0),
          child: Text(value.name, style: TextStyle(fontSize: 25.0))));
    
    对于3.我认为您不应该使用
    TextField
    ,而应该使用带有or(
    InkWell
    授予一些材料突出显示飞溅效果)的
    Text
    ,因为在这种情况下,您不需要
    TextField
    的属性:

    早上好

    所以对于第一个问题,我不确定目前是否可行,但一种方法是将iconSize设置为0.0 我现在无法测试它,但它应该可以工作

    第二个是由一页中的两个脚手架引起的。我可以看到底部导航栏必须在脚手架中,我非常确定“输入表单”页面也在脚手架中,因此从该页面移除脚手架,问题就会得到解决

    对于第三个,我建议不要使用文本字段来打开日期选择器,这是绝对不推荐的。您可以创建一个看起来像文本字段的小部件,并使用GestureDetector截取“onTap”

    希望这能帮助你


    祝你今天愉快

    嗨,谢谢!如果我从页面中移除脚手架,我如何在其上设置应用程序栏?然而,我通过使用resizeToAvoidBottomPadding来管理它,这解决了问题。至于下拉图标,我尝试将其设置为0,但带有边框的框装饰会覆盖其中的文本。我将尝试使用输入字段的其他方法,将其替换为文本如果您想在视图中使用应用程序栏,您可以创建一个自定义应用程序栏并在堆栈中使用它,但如果ResizeToAvidBottomPadding起作用,您就可以了。对于下拉图标,没有其他atm解决方案…谢谢!第一个解决了滚动问题。当将图标大小设置为0时,框装饰边框覆盖文本。@MotiBartov然后您只需在
    下拉菜单项
    内用
    填充
    。看看我调整后的答案。
    DropdownMenuItem<Project>(
      value: value,
      child: Padding(
          padding: EdgeInsets.only(right: 20.0),
          child: Text(value.name, style: TextStyle(fontSize: 25.0))));
    
    Scaffold(
      resizeToAvoidBottomPadding: false,
      ...
    )
    
    GestureDetector(
      onTap: () {
        // Your code to show the DatePicker and make use of it.
        showDatePicker();
        ...
      },
      child: Text(dateText)
    )