开发者社区> 问答> 正文

使用键盘_action包显示键盘时,TextField收缩/滚动

我使用的是键盘操作3.1.2 https://pub.dev/packages/keyboard_actions 当键盘出现在屏幕上时,我的文本字段正在隐藏。我在iOS上附了三张我的问题图片,你可以看到

一个要求输入号码的弹出 当我输入数字时,我的文本框是不可见的。-键盘出现在屏幕上 一旦我点击完成,我的文本就会出现。-键盘关闭 弹出我使用的是无状态小部件。下面是我的代码。

FocusNode _nodeText1 = FocusNode();



 KeyboardActionsConfig _buildConfig(BuildContext context) {
return KeyboardActionsConfig(
  keyboardActionsPlatform: KeyboardActionsPlatform.ALL,
  keyboardBarColor: Colors.grey[200],
  nextFocus: true,
  actions: [
    KeyboardAction(
      focusNode: _nodeText1,
      closeWidget: Padding(
        padding: EdgeInsets.all(5.0),
        child: Text(
          "CLOSE",
          style: TextStyle(color: Colors.black, fontSize: 14),
        ),
      ),
    ),
  ],
);}


Widget build(BuildContext context) {
return Dialog(
  shape: RoundedRectangleBorder(
    borderRadius: BorderRadius.circular(Consts.padding),
  ),
  elevation: 0.0,
  backgroundColor: Colors.transparent,
  child: Container(
  height: MediaQuery.of(context).size.height / 3,
  decoration: BoxDecoration(
    borderRadius: BorderRadius.circular(Consts.padding),
    color: Colors.white,
  ),
  child: Column(
    crossAxisAlignment: CrossAxisAlignment.start,
    mainAxisAlignment: MainAxisAlignment.start,
    children: <Widget>[

      Padding(
        padding: const EdgeInsets.only(left: 20.0),
        child: Container(
          width: MediaQuery.of(context).size.width / 3,
          height: 40,
          //padding: EdgeInsets.all(10.0),

          child: KeyboardActions(
            config: _buildConfig(context),
            child: TextField(
              textAlign: TextAlign.center,
              //  controller: oTPInputController,
              style: TextStyle(
                fontSize: 14.0,
                color: Theme.of(context).primaryColorDark,
                fontWeight: FontWeight.bold,
              ),
              keyboardType: TextInputType.number,
              focusNode: _nodeText1,
              decoration: InputDecoration(
                hintText: "Input Number",
                hintStyle: TextStyle(
                    fontSize: 14.0,
                    color: Theme.of(context).primaryColorDark),
                enabledBorder: UnderlineInputBorder(
                  borderSide:
                      BorderSide(color: Theme.of(context).primaryColorDark),
                ),
                focusedBorder: UnderlineInputBorder(
                  borderSide:
                      BorderSide(color: Theme.of(context).primaryColorDark),
                ),
              ),
            ),
          ),
        ),

      ),

    ],
  ),
),

);} [1.弹出,要求输入数字][1][2.我正在键入我的文本框不可见的数字][2][3.一旦单击“完成”,我的文本就会出现][3][1]:https://i.stack.imgur.com/yHNw4.png [2]: https://i.stack.imgur.com/PCjoV.png [3]: https://i.stack.imgur.com/68NRV.png

提前谢谢。

展开
收起
游客5akardh5cojhg 2019-12-16 22:26:21 493 0
0 条回答
写回答
取消 提交回答
问答分类:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载