flutter FractionallySizedBox / 百分比布局、根据父容器百分比布局 / 点击空白隐藏键盘

用法与SizedBox类似,只不过FractionallySizedBox的宽高是百分比大小,widthFactor,heightFactor参数就是相对于父控件的比例。注意设置FractionallySizedBox宽高后,其子组件设置的宽高将不起作用

FractionallySizedBox(
        widthFactor: 0.5,  // 百分比 - 整个区域最大的宽度
        heightFactor: 0.5, // 百分比 - 整个区域最大的高度
        child: SizedBox.fromSize(
          size: Size(300.0, 370.0), // 不起作用, 被 widthFactor 和 heightFactor 限制了.
          child: RaisedButton(
            color: Colors.pink,
              child: Text('pressed',style: TextStyle(color: Colors.white),),
              onPressed: () {
                print('onPressed');
              }),
        ),
      )

点击空白关闭、隐藏键盘

flutter FractionallySizedBox / 百分比布局、根据父容器百分比布局 / 点击空白隐藏键盘_第1张图片

// 点击空白  关闭键盘 时传的一个对象
  FocusNode blankNode = FocusNode();
把内容放在这个里面,加入FocusManager.instance.primaryFocus?.unfocus(), 就可以了
GestureDetector(
         // 全局添加点击空白处隐藏键盘
        onTap: () => FocusManager.instance.primaryFocus?.unfocus(),
        child:Container()
)

也可以这样放这里InkWell

InkWell(
        onTap: ()=>closeKeyboard(context), //点击空白关闭键盘
        child: )
定义一个方法closeKeyboard
void closeKeyboard(BuildContext context) {
    FocusScope.of(context).requestFocus(blankNode);
   
  }

你可能感兴趣的:(flutter,flutter)