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

手机开发网站怎么做自己做的网站打开速度慢

手机开发网站怎么做,自己做的网站打开速度慢,黄冈app下载推广平台,阿里巴巴官网下载安装效果 需求 弹起键盘,录制按钮紧挨着输入框收起键盘,录制按钮回到初始位置 实现 第一步:监听键盘弹起并获取键盘高度第二步:根据键盘高度,录制按钮高度计算偏移高度,并动画移动第三步:键盘收起…
效果

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.yayakq.cn/news/379115/

相关文章:

  • 桂城网站建设制作c2c十大平台
  • 设计师网站登录入口平面图网站
  • 网站建设管理典型经验网站建设大企业
  • 手机访问网站跳wap韩国女足还能出线吗
  • 企业网站建设需要多少钱成都网站开发市场成本
  • 阿里云网站商城建设那种网站2021
  • 河南省建设厅网站无事故证明高清摄影作品网站
  • 邯郸oa办公系统宁波seo品牌推广排名
  • 请问婚庆网站建设该怎么做呢外贸推广信
  • 权重2的网站公司标志
  • 门户网站方案接网站建站公司
  • 脑卒中中心建设网站黄页在哪里打开
  • 网站建设初学学做热干面网站
  • 自贸区网站建设建设银行啦卡信用网站
  • dmoz提交网站蚌埠做企业网站
  • 网站建设大致步骤吴忠建设局网站
  • 教做粥的网站网站排名怎么做上去
  • 网站开发常用的框架莱芜网站优化加徽信xiala5
  • 温州网站建设优化公司给别人做网站的销售叫什么
  • 绍兴企业做网站网站建设通讯设备中企动力
  • 做网站现在用什么软件html完整网页实例
  • 中国变装网站教你如何做女人婚纱摄影在哪个网站找
  • 沈阳建网站企业免费咨询医生回答
  • 泉州网站建设推广服务家装设计师培训学校学费
  • 网站效果主要包括游戏网站免费入口
  • asp.net网站建设教程网页升级紧急通知区域
  • 大型网站建立wordpress 安装插件
  • 网站建设与管理适合女生学吗手机网站用什么软件做
  • 南通网站快速收录手机电脑同步编辑wordpress
  • WordPress网站图片预加载专业简历制作软件