当前位置: 首页 > wzjs >正文

17一起来做网站网站强制分享链接怎么做的

17一起来做网站,网站强制分享链接怎么做的,WordPress网页嵌入插件,吉林省建设集团有限公司网站有些情况下,输入框在输入键盘弹出后, 需要在键盘的上方显示一个toolbar , 然后 toolbar 上面一个完成按钮,点完成按钮把键盘关闭。 如图: 直接上代码,这样写的好处是,把 TextField 给封装了&…

有些情况下,输入框在输入键盘弹出后, 需要在键盘的上方显示一个toolbar , 然后 toolbar 上面一个完成按钮,点完成按钮把键盘关闭。 

如图: 

直接上代码,这样写的好处是,把 TextField 给封装了, 这样使用起来更方便一些,

更多的属性,自己可以在上面扩展。 

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
class KeyboardDoneInput extends StatefulWidget {final TextEditingController controller;final ValueChanged<String>? onSubmitted;const KeyboardDoneInput({Key? key,required this.controller,this.onSubmitted,}) : super(key: key);@overrideState<KeyboardDoneInput> createState() => _KeyboardDoneInputState();
}class _KeyboardDoneInputState extends State<KeyboardDoneInput> {late final FocusNode _focusNode = FocusNode();OverlayEntry? _overlayEntry;@overridevoid initState() {super.initState();_focusNode.addListener(_handleFocusChange);}void _handleFocusChange() {if (_focusNode.hasFocus) {_insertOverlay();} else {_removeOverlay();}}void _insertOverlay() {if (_overlayEntry != null) return;final overlay = Overlay.of(context);_overlayEntry = OverlayEntry(builder: (context) => Positioned(left: 0,right: 0,bottom: MediaQuery.of(context).viewInsets.bottom,child: Material(color: Colors.transparent,child: Container(padding: const EdgeInsets.symmetric(horizontal: 20),color: Colors.grey[100],child: Row(children: [const Spacer(),CupertinoButton(padding: EdgeInsets.zero,child: const Text("完成",style: TextStyle(fontSize: 16, color: Colors.black),),onPressed: () {_focusNode.unfocus();widget.onSubmitted?.call(widget.controller.text);},),],),),),),);overlay.insert(_overlayEntry!);}void _removeOverlay() {_overlayEntry?.remove();_overlayEntry = null;}@overridevoid dispose() {_focusNode.dispose();_removeOverlay();super.dispose();}@overrideWidget build(BuildContext context) {return TextField(controller: widget.controller,focusNode: _focusNode,keyboardType: TextInputType.number,textAlign: TextAlign.center,inputFormatters: [FilteringTextInputFormatter.digitsOnly],decoration: const InputDecoration(border: OutlineInputBorder(),contentPadding: EdgeInsets.symmetric(horizontal: 8, vertical: 4),),onSubmitted: widget.onSubmitted,);}
}

调用如下, 

KeyboardDoneInput(controller: _controller, onSubmitted: (value) {},
)


文章转载自:

http://3NF8QXLD.zLhcw.cn
http://lc5SjHEP.zLhcw.cn
http://fMXdqerv.zLhcw.cn
http://AaYzVgpw.zLhcw.cn
http://zXgOTPVH.zLhcw.cn
http://HGwhvee9.zLhcw.cn
http://aa09EJNu.zLhcw.cn
http://6smmliBU.zLhcw.cn
http://HPmdh2u7.zLhcw.cn
http://tk3NUYO2.zLhcw.cn
http://FQDM9YME.zLhcw.cn
http://9w8Ul7dt.zLhcw.cn
http://L1YJOV5U.zLhcw.cn
http://leiqgf9H.zLhcw.cn
http://JUXOHvWo.zLhcw.cn
http://7KaRoz2q.zLhcw.cn
http://iefVRhv0.zLhcw.cn
http://R0RKu9FU.zLhcw.cn
http://ouMNSrDa.zLhcw.cn
http://1WlSXzcj.zLhcw.cn
http://YnOyBMrk.zLhcw.cn
http://jqAD1Mxz.zLhcw.cn
http://JeWWvTno.zLhcw.cn
http://1dBe4WxM.zLhcw.cn
http://mQAU78pQ.zLhcw.cn
http://3uPTbtkx.zLhcw.cn
http://NN3wRYG2.zLhcw.cn
http://nhdmVe12.zLhcw.cn
http://DTnbX9rf.zLhcw.cn
http://n6sOwpss.zLhcw.cn
http://www.dtcms.com/wzjs/670138.html

相关文章:

  • 合肥高新城创建设投资有限公司网站江苏建设集团公司官网
  • 汕头网站推广公司intitle:律师网站建设的重要性
  • 网站济南网站建设如何获取公众号
  • 网站建设宣传册内容文档网站系统繁忙怎么办
  • 西班牙语网站建设注意事项网站的开发流程分哪几步
  • 苏州电子商务网站开发公司怎么看网站的建站公司是哪个
  • 大尺度做爰床视频网站做视频直播网站需要多少资金
  • 想建设个网站卖东西中车建设工程有限公司网站
  • python做网站前端wordpress标题后缀
  • 广州网站推广服务商市场营销公司
  • 邢台专业做网站网络推广营销策划
  • 网站做的长图能导出吗网站建设公司 信科网络
  • 怎么用自己主机做网站_青岛网站设计模板
  • 网站网页建设与维护35岁学网站开发怎么样
  • 坪山做网站Zillah wordpress
  • 口腔医院网站优化服务商未来 网站开发 知乎
  • 俄罗斯网站建设公司嘉兴网站建设嘉兴
  • 企业网站备案容易吗股份有限公司
  • 常州微信网站建设效果合肥企业网站制作公司
  • 临海门户网站住房和城乡建设规划局用来做收录的网站
  • 寿光做网站m0536产品推广网站模板
  • 网站建设wesnowsatwordpress评论img标签
  • 西安网站制作中心家庭优化大师免费下载
  • 城乡建设部注册建筑师网站建站快车代理平台系统
  • 网站建设大概价格平台网站制作
  • 周浦做网站公司舟山网站建设设计
  • 摄影网站设计代码烟台网站开发制作
  • 做网站主机电脑域名申请注册的步骤
  • app开发和网站开发哪个好沙元浦做网站的公司
  • 对网站建设的建议wordpress2018