网站开发的主要技术难点和重点岳阳建网站

web/2025/10/8 23:40:48/文章来源:
网站开发的主要技术难点和重点,岳阳建网站,做陶瓷的公司网站,浙江 外贸网站建设一. 事件监听 在大前端的开发中#xff0c;必然存在各种各样和用户交互的情况#xff1a;比如手指点击、手指滑动、双击、长按等等。所有内容首发于公众号#xff1a;coderwhy在Flutter中#xff0c;手势有两个不同的层次#xff1a;第一层#xff1a;原始指针事件#…一. 事件监听 在大前端的开发中必然存在各种各样和用户交互的情况比如手指点击、手指滑动、双击、长按等等。 所有内容首发于公众号coderwhy在Flutter中手势有两个不同的层次第一层原始指针事件Pointer Events描述了屏幕上由触摸板、鼠标、指示笔等触发的指针的位置和移动。第二层手势识别Gesture Detector这个是在原始事件上的一种封装。 比如我们要监听用户长按如果自己封装原始事件我们需要监听从用户按下到抬起的时间来判断是否是一次长按事件比如我们需要监听用户双击事件我们需要自己封装监听用户两次按下抬起的时间间隔幸运的是各个平台几乎都对它们进行了封装而Flutter中的手势识别就是对原始指针事件的封装包括哪些手势呢比如点击、双击、长按、拖动等2.1. 指针事件PointerPointer 代表的是人机界面交互的原始数据。一共有四种指针事件PointerDownEvent 指针在特定位置与屏幕接触PointerMoveEvent 指针从屏幕的一个位置移动到另外一个位置PointerUpEvent 指针与屏幕停止接触PointerCancelEvent 指针因为一些特殊情况被取消Pointer的原理是什么呢在指针落下时框架做了一个 hit test 的操作确定与屏幕发生接触的位置上有哪些Widget以及分发给最内部的组件去响应事件会沿着最内部的组件向组件树的根冒泡分发并且不存在用于取消或者停止指针事件进一步分发的机制原始指针事件使用Listener来监听class HomeContent extends StatelessWidget {overrideWidget build(BuildContext context) {return Center(child: Listener(child: Container(width: 200,height: 200,color: Colors.red,),onPointerDown: (event) print(手指按下:$event),onPointerMove: (event) print(手指移动:$event),onPointerUp: (event) print(手指抬起:$event),),);} } 2.2. 手势识别GestureGesture是对一系列Pointer的封装官方建议开发中尽可能使用Gesture而不是PointerGesture分层非常多的种类点击onTapDown用户发生手指按下的操作onTapUp用户发生手指抬起的操作onTap用户点击事件完成onTapCancel事件按下过程中被取消双击onDoubleTap快速点击了两次长按onLongPress在屏幕上保持了一段时间纵向拖拽onVerticalDragStart指针和屏幕产生接触并可能开始纵向移动onVerticalDragUpdate指针和屏幕产生接触在纵向上发生移动并保持移动onVerticalDragEnd指针和屏幕产生接触结束横线拖拽onHorizontalDragStart指针和屏幕产生接触并可能开始横向移动onHorizontalDragUpdate指针和屏幕产生接触在横向上发生移动并保持移动onHorizontalDragEnd指针和屏幕产生接触结束移动onPanStart指针和屏幕产生接触并可能开始横向移动或者纵向移动。如果设置了 onHorizontalDragStart 或者 onVerticalDragStart该回调方法会引发崩溃onPanUpdate指针和屏幕产生接触在横向或者纵向上发生移动并保持移动。如果设置了 onHorizontalDragUpdate 或者 onVerticalDragUpdate该回调方法会引发崩溃。onPanEnd指针先前和屏幕产生了接触并且以特定速度移动此后不再在屏幕接触上发生移动。如果设置了 onHorizontalDragEnd 或者 onVerticalDragEnd该回调方法会引发崩溃。从Widget的层面来监听手势我们需要使用GestureDetector当然我们也可以使用RaisedButton、FlatButton、InkWell等来监听手势globalPosition用于获取相对于屏幕的位置信息localPosition用于获取相对于当前Widget的位置信息class HYHomePage extends StatelessWidget {overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text(手势测试),),body: GestureDetector(child: Container(width: 200,height: 200,color: Colors.red,),onTap: () {},onTapDown: (detail) {print(detail.globalPosition);print(detail.localPosition);},onTapUp: (detail) {print(detail.globalPosition);print(detail.localPosition);}),);} }二. 跨组件事件 在组件之间如果有事件需要传递一方面可以一层层来传递另一方面我们也可以使用一个EventBus工具来完成。其实EventBus在Vue、React中都是一种非常常见的跨组件通信的方式EventBus相当于是一种订阅者模式通过一个全局的对象来管理这个EventBus我们可以自己实现也可以使用第三方的EventBus这里我们直接选择第三方的EventBusdependencies:event_bus: ^1.1.1 第一我们需要定义一个希望在组件之间传递的对象我们可以称之为一个时间对象也可以是我们平时开发中用的模型对象modelclass UserInfo {String nickname;int level;UserInfo(this.nickname, this.level); } 第二创建一个全局的EventBus对象final eventBus EventBus(); 第三在某个Widget中发出事件class HYButton extends StatelessWidget {overrideWidget build(BuildContext context) {return RaisedButton(child: Text(HYButton),onPressed: () {final info UserInfo(why, 18);eventBus.fire(info);},);} } 第四在某个Widget中监听事件class HYText extends StatefulWidget {override_HYTextState createState() _HYTextState(); }class _HYTextState extends StateHYText {String message Hello Coderwhy;overridevoid initState() {super.initState();eventBus.onUserInfo().listen((data) {setState(() {message ${data.nickname}-${data.level};});});}overrideWidget build(BuildContext context) {return Text(message, style: TextStyle(fontSize: 30),);} } 备注所有内容首发于公众号之后除了Flutter也会更新其他技术文章TypeScript、React、Node、uniapp、mpvue、数据结构与算法等等也会更新一些自己的学习心得等欢迎大家关注

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/89328.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

网站首页被k咋办siren模板wordpress

备战2024年蓝桥杯 -- 每日一题 Python大学A组 试题一:单调栈 试题二:滑动窗口 试题三:子矩阵 试题四:最大子序和 试题一:单调栈 【题目描述】 给定一个长度为 N 的整数数列,输出每…

成都网站优化维护wordpress 页面名称

决定给自己见一个技术博客之后,在网上搜了一下,发现了51CTO网站,进入之后发现网速够快,有尝试了博客的功能,也基本满足了我的要求,那就是它了,于是我就在51CTO安家了。写了两片共近千字的文章之…

建立网站专业公司吗wordpress架设进出销

谈及浏览器中的网络,就避不开HTTP。我们知道HTTP是浏览器中最重要且使用最多的协议,是浏览器和服务器之间的通信语言,也是互联网的基石。而随着浏览器的发展,HTTP为了能适应新的形式也在持续进化,我认为学习HTTP的最佳…

石桥铺网站建设电商软件开发平台

很多人像在文章或者聊天使用表情,但是不知道如何输入,下面孙叫兽就来带你体验一下吧 快捷键 win. 比如在微信聊天框使用win. 就可以输入表情符号,颜文字及符号。 你们学废了?

青岛专业网站设计的公司google关键词工具

UML用例图是什么? UML用例图(Unified Modeling Language Use Case Diagram)是一种用于描述系统功能和用户之间交互的图形化建模工具。它是UML的一部分,主要用于识别和表示系统中的各个用例(用户需求或功能点&#…

邯郸大网站沈阳男科医院排名最好的医院

一、定义的不同RegExp.prototype.test()RegExp.prototype.exec()String.prototype.match()从MDN的定义可以看出,test和exec是正则实例的API,match是String的,这一点决定了调用方式的不同。二、应用场景的不同如果只是想要判断正则表达式和字符…

网站建设维护视频教程国家工程招标网公告

创造模式物品栏 添加到当前已有物品栏 再添加自定义的创造模式物品栏之前,请确保你的确有这个需求!否则建议直接添加到当前已有的物品栏内部 创建新文件:com/example/item/ModItemGroup.java package com.example.item;import net.fabricmc.…

洛阳建设网站的公司和目网站

Azure Machine Learning借助对计算机视觉任务的支持,可以控制模型算法和扫描超参数。 这些模型算法和超参数将作为参数空间传入以进行扫描。 关注TechLead,分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验,同济…

photoshop官网谁可以做网站优化排名推广

目录 前言 一、HTML中的排版标签 1. 文本相关标签 1.1 标题标签 ~ 1.2 段落标签 1.3 强调和加粗 1.4 换行标签 1.5 水平线标签 二、HTML中的语义化标签 2.1 语义化标签概述 2.2 常见的语义化标签 示例(核心代码部分): 三、HTM…

dedecms招聘网站北京公司网站制作价格

01 牧原股份 招聘岗位:网络工程师 职责描述: 1、负责公司及下属子公司办公网络及IOT网络架构规划、设计、重大网络变更评审或实施及重大疑难问题处理; 2、负责公司网络运维监控体系、自动化网络运维及服务体系,并持续优化改进&am…

济南网站制作经验wordpress建外贸网站

Spring中的Profile批注可以用于任何自动检测候选的Spring组件(例如, Service Component, Service Component , Service Configuration等)。 Profile批注接受单个配置文件或一组必须是活动的配置文件,以使带…

网站管理 设置开启济南好的网站建设公司排名

一.与IP协议相关的基本概念 IP协议,即网际互连协议(Internet Protocol),是TCP/IP体系中的核心网络层协议。 网络层IP协议解决的问题 数据传输的过程中,不是直接进行的传输,而是经过层层的封装和分用的过程才能到达对端. IP协议主…

网站正在建设中 手机版深圳网站定制建设

服务支撑:FFmpeg srs(流媒体服务器) 整个流程是 FFmpeg 收流转码 推 rtmp 到流媒体服务 流媒体服务再 分发流到公网 搭建流媒体服务: 1. SRS (Simple Realtime Server) | SRS (本例子使用的是SrS 安装使用docker ) 2.GitHub - ZLMedi…

外贸网站seo优化方案成都网站建设 哪家比较好

mac地址(物理地址) mac地址和ip地址,目的都是为了区分网络上的不同设备的,在最开始的时候,mac地址和ip地址是两伙人,独立各自提出的,ip地址是4个字节(早都不够用了)&…

北京网站建设学校wordpress 微博 插件

根据SOC FPGA之HPS模型设计(一), Quartus工程经过全编译后会产生Handoff文件夹、SOPCINFO文件、SVD文件 二、生成Preloader镜像文件 通过信息交换文件Handoff文件生成Preloader,需要用到SOC EDS Preloader也被称为spl(Second Program Loader)或u-boot…

合肥网站排名提升编程教育机构

提前声明: 本文内容为华北水利水电大学研究生C课程,如有 侵权请告知,作者会予以删除 1程序控制结构 语句是程序的基本语法成分。程序设计语言的语句按功能可以分成三类:声明语句 指示编译器分配内存,或者提供程序…

网站的做用陵水网站建设方案

近年来,随着nodejs的突飞猛进,node项目数量增长迅猛,node项目完美的阐释了“开箱即用”的理念。小到创业公司,大到阿里这样的巨头,背后均有node的身影。 node项目基于Chrome的V8引擎,使用JavaScript&#x…

适合网站设计的gif图片怎样建个小公司的网站

在上一篇文章中,我们已经开始讨论基于消息的通信中的消费者驱动的合同测试 。 在今天的帖子中,我们将在测试工具箱中包含另一个工具,但是在此之前,让我对显微镜下的系统进行快速回顾。 它有两项服务, 订单服务和货运服…

国外网站购物百度下载安装2021

微软Webcast课程下载软件iReaper正式登陆Android平台,我叫它iReaper for Android。目前正处于测试阶段,功能比较单一。 目前支持 1.视频下载 2.课程代码下载 3.讲义下载 4.问答下载 附上截图,敬请期待! 1.下载地址&#xff…

网站建设补贴wordpress 图床

文章目录 模板语法1、文本2、原始 HTML3、属性 Attribute4、使用 JavaScript 表达式 条件渲染1、v-if2、v-else3、v-show4、v-if vs v-show 的区别 列表渲染1、用 v-for 把一个数组映射为一组元素2、维护状态 事件处理1、监听事件 v-on2、事件处理方法3、内联处理器中的方法 表…