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

1688做网站难吗手机清理优化软件排名

1688做网站难吗,手机清理优化软件排名,网站策划中规划预测怎们做,做网站前必须设计原型吗有些情况下,输入框在输入键盘弹出后, 需要在键盘的上方显示一个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://www.dtcms.com/wzjs/254997.html

相关文章:

  • 南海网站制作公司宁波seo基础入门
  • 工信部网站备案登录关键词优化公司哪家强
  • 商务酒店网站模板西安seo关键词查询
  • 杭州地区网站公安备案nba最新排名
  • wordpress 搜索 提示seo推广案例
  • 做室内设计的网站有哪些方面百度快照没有了用什么代替了
  • 上海php网站建设关键词生成器在线
  • 网站建设前准备英文站友情链接去哪里查
  • 微信网站模板外贸营销型网站建设公司
  • 上海营销网站建设seo推广任务小结
  • 性价比最高网站建设电话成品网站货源1
  • 做网站需要的技术 规范福建seo关键词优化外包
  • 网站布局英文郑州网站建设价格
  • wordpress能做图片站俄罗斯搜索引擎入口
  • ftp 网站 怎么上传百度关键词网站排名优化软件
  • 承包网站建设的公司如何查看网站权重
  • 无锡建设银行网站哪些广告平台留号码
  • 海尔集团网站建设论坛推广网站
  • zblog做微网站搜索引擎优化推广
  • 江门营销型网站建设公司web网页制作成品
  • 贵阳搜索玩的网站单页网站排名优化
  • 电影网站这么做关键词天津百度搜索排名优化
  • 网站中英文版怎么做网站建设推广服务
  • 深圳建设网站推荐手机百度收录提交入口
  • 惠州网站搭建自己建个网站要多少钱
  • 网站建设公司销售经理职责公司网站优化
  • 类似freenom的免费域名网站好的推广方式
  • 大型企业网站欣赏推广引流渠道有哪些
  • 58同城企业网站怎么做的18种最有效推广的方式
  • 政务网站建设目的 意义360广告推广平台