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

利用c 做网站搜索引擎优化缩写

利用c 做网站,搜索引擎优化缩写,装修公司加盟哪家好,网站布局结构效果 需求 弹起键盘,录制按钮紧挨着输入框收起键盘,录制按钮回到初始位置 实现 第一步:监听键盘弹起并获取键盘高度第二步:根据键盘高度,录制按钮高度计算偏移高度,并动画移动第三步:键盘收起…
效果

custom.gif

需求
  • 弹起键盘,录制按钮紧挨着输入框
  • 收起键盘,录制按钮回到初始位置
实现
  • 第一步:监听键盘弹起并获取键盘高度
  • 第二步:根据键盘高度,录制按钮高度计算偏移高度,并动画移动
  • 第三步:键盘收起,录制按钮回到原始位置
涉及知识点
  • WidgetsBindingObserver
  • didChangeMetrics()
  • MediaQuery.of(context).viewInsets.bottom
  • AnimatedPositioned
代码
import 'package:flutter/material.dart';
import 'package:flutter_xy/widgets/xy_app_bar.dart';import '../../r.dart';class RecordPage extends StatefulWidget {const RecordPage({super.key});@overrideState<RecordPage> createState() => _RecordPageState();
}class _RecordPageState extends State<RecordPage> with WidgetsBindingObserver {//键盘的高度double _keyboardHeight = 0;final GlobalKey _key = GlobalKey();@overrideWidget build(BuildContext context) {return Scaffold(appBar: XYAppBar(title: "搜索音频识别",onBack: () {Navigator.pop(context);},),body: Stack(children: [const Positioned(top: 0,left: 0,right: 0,child: TextField(decoration: InputDecoration(labelText: "请输入内容"),),),AnimatedPositioned(duration: const Duration(milliseconds: 800),curve: Curves.easeInOut,bottom: _offsetHeight <= 0 ? 0 : _offsetHeight,left: 0,right: 0,child: Image.asset(R.record_png,key: _key,width: 50,height: 50,),),],),);}@overridevoid initState() {super.initState();WidgetsBinding.instance.addObserver(this);}@overridevoid dispose() {WidgetsBinding.instance.removeObserver(this);super.dispose();}@overridevoid didChangeMetrics() {WidgetsBinding.instance.addPostFrameCallback((_) {if (mounted) {setState(() {//键盘高度_keyboardHeight = MediaQuery.of(context).viewInsets.bottom;});}});}/// 录制图标偏移的高度double get _offsetHeight {if (_keyboardHeight == 0) return 0;final screenHeight = MediaQuery.of(context).size.height;final inputBox = _key.currentContext?.findRenderObject() as RenderBox?;final offset = inputBox?.localToGlobal(Offset.zero);final inputPosition = offset?.dy ?? 0;final inputHeight = inputBox?.size.height ?? 0;var offsetHeight =(inputPosition + inputHeight) - (screenHeight - _keyboardHeight);return offsetHeight;}
}

详情见:github.com/yixiaolunhui/flutter_xy

http://www.15wanjia.com/news/28936.html

相关文章:

  • 呼和浩特网站建设费用seo编辑的工作内容
  • 布吉做棋牌网站建设哪家技术好中国最新领导班子
  • 网站上线需要哪些步骤seo海外
  • 上海有名的做网站的公司有哪些厦门关键词排名提升
  • 英国跨境电商平台有哪些郑州网站关键词优化外包
  • 网站空间 支持什么程序竞价网络推广培训
  • 高端的饰品行业网站开发汽车软文广告
  • 铁岭 建筑公司网站 中企动力建设天津百度seo排名优化软件
  • 龙岩网站设计找哪家好北京云无限优化
  • 文库网站怎么做seo广州seo网站排名
  • 旅游网站模板库网络营销方式包括哪些
  • 腾讯域名怎么做网站南京谷歌优化
  • 地产公司网站建设方案求个网站
  • 找个人做网站优化大师是干什么的
  • 成人编程培训机构seo推广效果怎么样
  • 会员管理系统功能seo推广哪家好
  • 云南省建设系统网站网络舆情应急预案
  • wordpress插入视频湖南靠谱seo优化报价
  • flash中国官网苏州seo培训
  • 网站做电子链接标识申请好吗关键词优化排名用什么软件比较好
  • 泰州企业网站建站模板关键词优化的五个步骤
  • 深圳公司网站制作企业外链购买平台
  • 网站好处电商网站图片
  • 现在推广网站最好的方式郑州百度推广代理公司
  • wordpress网站如何播放视频播放器近期出现的病毒叫什么
  • 做新闻网站开发和测试的硬件一键清理加速
  • 做网站 写脚本是什么广告软文营销平台
  • 宣城市网站集约化建设竞价推广怎么做
  • 云服务器里面做网站播放器篮网目前排名
  • 成都网站建设吧网站搜索引擎优化主要方法