如何使用颜色选择器将焦点从表单中的TextField中移出?

问题描述 投票:0回答:1

我正在实现一个表格,在这个表格中,用户可以写下一个课程的标题和描述,此外,用户应该能够为这个特定的课程选择颜色。此外,用户应该能够为这个特定的课程选择一种颜色。

我的目标是当我点击其他地方或点击键盘上的后退按钮时,从当前编辑的Textfield上取消焦点。

我发现了一个类似的帖子 如何解除屏幕上的键盘? 他们在哪里使用 FocusScope.of(context).unfocus(); 中。

不幸的是,这在我的情况下是行不通的。

P.S.我使用的是Flutter 1.17.2。

   child: GestureDetector(
            behavior: HitTestBehavior.translucent,
            onTap: () {
              FocusScope.of(context).unfocus();
            },
            child: Form(
              key: _formKey,
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.start,
                children: <Widget>[
                  _CourseTitelField(isEditing: isEditing),
                  _CourseDescriptionField(isEditing: isEditing),
                  _CourseColorSelection(
                      mainColor: _mainColor, tempMainColor: _tempMainColor),
                ],
              ),
            ),
          ),

enter image description here

flutter
1个回答
0
投票

你有很多选择,我会提到我喜欢的2个选项

  1. 系统通道从 import 'package:flutter/services.dart';
SystemChannels.textInput.invokeMethod('TextInput.hide');
  1. FocusScope
FocusScope.of(context).requestFocus(FocusNode());
© www.soinside.com 2019 - 2024. All rights reserved.