wnmp搭建后怎么做网站厦门手机网站建设公司

web/2025/9/28 16:11:49/文章来源:
wnmp搭建后怎么做网站,厦门手机网站建设公司,微擎微信管理系统,腾讯企点是什么文章目录 1. 介绍2. 使用2-1. 单击双击和长按2-2. 拖动和滑动2-3. 缩放 3. 注意点 1. 介绍 在 flutter 中#xff0c;GestureDetector 是手势识别的组件#xff0c;可以识别点击、双击、长按、拖动、缩放等手势事件#xff0c;并且可以与子组件进行交互#xff0c;构造函数… 文章目录 1. 介绍2. 使用2-1. 单击双击和长按2-2. 拖动和滑动2-3. 缩放 3. 注意点 1. 介绍 在 flutter 中GestureDetector 是手势识别的组件可以识别点击、双击、长按、拖动、缩放等手势事件并且可以与子组件进行交互构造函数属性如下 (new) GestureDetector GestureDetector({// 可选的Key属性用于标识该组件Key? key,// 可选的子组件将被包裹在GestureDetector中Widget? child,// 当用户按下手指时触发的事件处理函数void Function(TapDownDetails)? onTapDown,// 当用户抬起手指时触发的事件处理函数void Function(TapUpDetails)? onTapUp,// 当用户轻触屏幕时触发的事件处理函数void Function()? onTap,// 当用户取消触摸屏幕时触发的事件处理函数void Function()? onTapCancel,// 当用户轻触屏幕的次级区域时触发的事件处理函数void Function()? onSecondaryTap,// 当用户按下次级区域的手指时触发的事件处理函数void Function(TapDownDetails)? onSecondaryTapDown,// 当用户抬起次级区域的手指时触发的事件处理函数void Function(TapUpDetails)? onSecondaryTapUp,// 当用户取消触摸次级区域的屏幕时触发的事件处理函数void Function()? onSecondaryTapCancel,// 当用户轻触屏幕的三级区域时触发的事件处理函数void Function()? onTertiaryTap,// 当用户按下三级区域的手指时触发的事件处理函数void Function(TapDownDetails)? onTertiaryTapDown,// 当用户抬起三级区域的手指时触发的事件处理函数void Function(TapUpDetails)? onTertiaryTapUp,// 当用户取消触摸三级区域的屏幕时触发的事件处理函数void Function()? onTertiaryTapCancel,// 当用户双击屏幕时触发的事件处理函数void Function()? onDoubleTap,// 当用户双击屏幕时触发的事件处理函数void Function()? onDoubleTapCancel,// 当用户长按屏幕时触发的事件处理函数void Function(LongPressDownDetails)? onLongPressDown,// 当用户取消长按屏幕时触发的事件处理函数void Function()? onLongPressCancel,// 当用户长按屏幕时触发的事件处理函数void Function()? onLongPress,// 当用户开始长按屏幕时触发的事件处理函数void Function(LongPressStartDetails)? onLongPressStart,// 当用户移动手指以更新长按位置时触发的事件处理函数void Function(LongPressMoveUpdateDetails)? onLongPressMoveUpdate,// 当用户抬起手指以结束长按时触发的事件处理函数void Function()? onLongPressUp,// 当用户结束长按屏幕时触发的事件处理函数void Function(LongPressEndDetails)? onLongPressEnd,// 当用户长按屏幕的次级区域时触发的事件处理函数void Function()? onSecondaryLongPress,// 当用户长按屏幕的次级区域时触发的事件处理函数void Function()? onSecondaryLongPressCancel,// 当用户长按屏幕的次级区域时触发的事件处理函数void Function(LongPressStartDetails)? onSecondaryLongPressStart,// 当用户移动手指以更新次级长按位置时触发的事件处理函数void Function(LongPressMoveUpdateDetails)? onSecondaryLongPressMoveUpdate,// 当用户抬起手指以结束次级长按时触发的事件处理函数void Function()? onSecondaryLongPressUp,// 当用户结束次级长按屏幕时触发的事件处理函数void Function(LongPressEndDetails)? onSecondaryLongPressEnd,// 当用户长按屏幕的三级区域时触发的事件处理函数void Function()? onTertiaryLongPress,// 当用户长按屏幕的三级区域时触发的事件处理函数void Function()? onTertiaryLongPressCancel,// 当用户长按屏幕的三级区域时触发的事件处理函数void Function(LongPressStartDetails)? onTertiaryLongPressStart,// 当用户移动手指以更新三级长按位置时触发的事件处理函数void Function(LongPressMoveUpdateDetails)? onTertiaryLongPressMoveUpdate,// 当用户抬起手指以结束三级长按时触发的事件处理函数void Function()? onTertiaryLongPressUp,// 当用户结束三级长按屏幕时触发的事件处理函数void Function(LongPressEndDetails)? onTertiaryLongPressEnd,// 当用户垂直拖动屏幕时触发的事件处理函数void Function(DragDownDetails)? onVerticalDragDown,// 当用户开始垂直拖动屏幕时触发的事件处理函数void Function(DragStartDetails)? onVerticalDragStart,// 当用户更新垂直拖动位置时触发的事件处理函数void Function(DragUpdateDetails)? onVerticalDragUpdate,// 当用户结束垂直拖动屏幕时触发的事件处理函数void Function(DragEndDetails)? onVerticalDragEnd,// 当用户取消垂直拖动屏幕时触发的事件处理函数void Function()? onVerticalDragCancel,// 当用户水平拖动屏幕时触发的事件处理函数void Function(DragDownDetails)? onHorizontalDragDown,// 当用户开始水平拖动屏幕时触发的事件处理函数void Function(DragStartDetails)? onHorizontalDragStart,// 当用户更新水平拖动位置时触发的事件处理函数void Function(DragUpdateDetails)? onHorizontalDragUpdate,// 当用户结束水平拖动屏幕时触发的事件处理函数void Function(DragEndDetails)? onHorizontalDragEnd,// 当用户取消水平拖动屏幕时触发的事件处理函数void Function()? onHorizontalDragCancel,// 当用户开始强制按压屏幕时触发的事件处理函数void Function(ForcePressDetails)? onForcePressStart,// 当用户达到最大按压力时触发的事件处理函数void Function(ForcePressDetails)? onForcePressPeak,// 当用户更新按压力度时触发的事件处理函数void Function(ForcePressDetails)? onForcePressUpdate,// 当用户结束按压屏幕时触发的事件处理函数void Function(ForcePressDetails)? onForcePressEnd,// 当用户开始平移屏幕时触发的事件处理函数void Function(DragDownDetails)? onPanDown,// 当用户开始平移屏幕时触发的事件处理函数void Function(DragStartDetails)? onPanStart,// 当用户更新平移位置时触发的事件处理函数void Function(DragUpdateDetails)? onPanUpdate,// 当用户结束平移屏幕时触发的事件处理函数void Function(DragEndDetails)? onPanEnd,// 当用户取消平移屏幕时触发的事件处理函数void Function()? onPanCancel,// 当用户开始缩放屏幕时触发的事件处理函数void Function(ScaleStartDetails)? onScaleStart,// 当用户更新缩放比例时触发的事件处理函数void Function(ScaleUpdateDetails)? onScaleUpdate,// 当用户结束缩放屏幕时触发的事件处理函数void Function(ScaleEndDetails)? onScaleEnd,// 当用户的指针设备类型被识别时触发的事件处理函数HitTestBehavior? behavior,// 是否从语义中排除此组件默认为falsebool excludeFromSemantics false,// 拖动开始时的手势行为默认为startDragStartBehavior dragStartBehavior DragStartBehavior.start,// 是否由跟踪板滚动引起缩放默认为falsebool trackpadScrollCausesScale false,// 跟踪板滚动到缩放因子的值默认为kDefaultTrackpadScrollToScaleFactorOffset trackpadScrollToScaleFactor kDefaultTrackpadScrollToScaleFactor,// 支持的设备类型集合默认为空集SetPointerDeviceKind? supportedDevices, })2. 使用 GestureDetector 内部封装了 Listener用以识别语义化的手势。 2-1. 单击双击和长按 当同时监听 onTap 和 onDoubleTap 事件时当用户触发 tap 事件时会有 200 毫秒左右的延时这是因为当用户点击完之后很可能会再次点击以触发双击事件所以 GestureDetector 会等一段时间来确定是否为双击事件。如果只监听了 onTap没有监听 onDoubleTap事件时则没有延时。 import package:flutter/material.dart;/// 定义 class HomePage extends StatefulWidget {const HomePage({super.key});overrideStateHomePage createState() HomePageState(); }/// 实现 class HomePageState extends StateHomePage {String msg ;overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text(Flutter Home),),body: Center(child: GestureDetector(child: Container(alignment: Alignment.center,color: Colors.blue,width: 200.0,height: 100.0,child: Text(msg,style: const TextStyle(color: Colors.white),),),onTap: () {setState(() {msg 单击;});},onDoubleTap: () {setState(() {msg 双击;});},onLongPress: () {msg 长按;},),),floatingActionButton: FloatingActionButton(onPressed: () async {}, child: const Icon(Icons.palette)));} }2-2. 拖动和滑动 GestureDetector 对于拖动和滑动事件是没有区分的他们本质上是一样的。GestureDetector 会将要监听的组件的原点左上角作为本次手势的原点当用户在监听的组件上按下手指时手势识别就会开始。 import package:flutter/material.dart;/// 定义 class HomePage extends StatefulWidget {const HomePage({super.key});overrideStateHomePage createState() HomePageState(); }/// 实现 class HomePageState extends StateHomePage {double topOffset 0.0;double leftOffset 0.0;overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text(Flutter Home),),body: Stack(children: [Positioned(top: topOffset,left: leftOffset,child: GestureDetector(onPanDown: (DragDownDetails ev) {debugPrint(手指按下);},onPanUpdate: (DragUpdateDetails ev) {setState(() {topOffset ev.delta.dy;leftOffset ev.delta.dx;});},onPanEnd: (DragEndDetails ev) {debugPrint(手指拿开);},child: const CircleAvatar(child: Text(拖),),),)],),floatingActionButton: FloatingActionButton(onPressed: () async {}, child: const Icon(Icons.palette)));} }2-3. 缩放 GestureDetector 也可以监听缩放事件如下例子 import package:flutter/material.dart;/// 定义 class HomePage extends StatefulWidget {const HomePage({super.key});overrideStateHomePage createState() HomePageState(); }/// 实现 class HomePageState extends StateHomePage {double imgW 200;overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: const Text(Flutter Home),),body: Center(child: GestureDetector(child: Image.asset(static/portrait.png, width: imgW,),onScaleUpdate: (ScaleUpdateDetails details) {setState(() {imgW 200 * details.scale.clamp(.8, 10.0);});},),),floatingActionButton: FloatingActionButton(onPressed: () async {}, child: const Icon(Icons.palette)));} }3. 注意点 有时候 GestureDetector 实现点击事件时点击空白区域不能响应这是因为子元素没有占满全部内容此时需要设置 behavior 属性它有三个值如下例子 属性说明deferToChild只有当前容器中的 child 被点击时才会响应点击事件。opaque点击整个区域都会响应点击事件但是点击事件不可穿透向下传递注释翻译阻止视觉上位于其后方的目标接收事件。translucent同样是点击整个区域都会响应点击事件和 opaque 的区别是点击事件是否可以向下传递注释翻译半透明目标既可以在其范围内接受事件也可以允许视觉上位于其后方的目标接收事件。 Column(children: [GestureDetector(behavior: HitTestBehavior.opaque,onTap: () {},child: Container(width: double.infinity,height: 64,alignment: Alignment.center,child: Text(Delete,style: TextStyle(color: Color(0xFFFB4056),fontSize: 18,fontWeight: FontWeight.w600)),),) ])本次分享就到这儿啦我是鹏多多如果您看了觉得有帮助欢迎评论关注点赞转发我们下次见~ 往期文章 flutter学习-day1-环境搭建和启动第一个项目flutter学习-day12-可滚动组件和监听Vue2全家桶Element搭建的PC端在线音乐网站vue3element-plus配置cdn助你上手Vue3全家桶之Vue3教程助你上手Vue3全家桶之VueX4教程助你上手Vue3全家桶之Vue-Router4教程超详细Vue的九种通信方式超详细Vuex手把手教程使用nvm管理node.js版本以及更换npm淘宝镜像源vue中利用.env文件存储全局环境变量以及配置vue启动和打包命令超详细Vue-Router手把手教程 个人主页 CSDNGitHub简书博客园掘金

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

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

相关文章

免费的培训网站建设中国建设网官方网站洞庭湖治理

系列综述: 💞目的:本系列是个人整理为了秋招面试的,整理期间苛求每个知识点,平衡理解简易度与深入程度。 🥰来源:材料主要源于LeetCodeHot100进行的,每个知识点的修正和深入主要参考…

域名暂无法进行网站备案做交易网站什么开发语言

装饰模式使用对象组合的方式动态改变或增加对象行为。 Go语言借助于匿名组合和非入侵式接口可以很方便实现装饰模式。 使用匿名组合,在装饰器中不必显式定义转调原对象方法。 decorator.go package decoratortype Component interface {Calc() int }type Concre…

一个公司网站备案福田欧辉氢燃料电池客车

前言JSFinder是一款优秀的github开源工具,这款工具功能就是查找隐藏在js文件中的api接口和敏感目录,以及一些子域名。 github链接: Code1https://github.com/Threezh1/JSFinder

电子商务网站建设模板宿迁房产网宿迁市区房屋出售

面试题-TS(一):TypeScript是什么?它与JavaScript有什么区别? TypeScript是一种编程语言,它是JavaScript的超集。它通过添加静态类型、类、接口和模块等功能来扩展JavaScript。 JavaScript是一种广泛应用于Web开发的脚本语言,它的灵活性和…

加拿大网站后缀wordpress从入门

请求上下文和应用上下文详解 一、背景二、什么是上下文2.1、请求上下文2.2、应用上下文2.3、两种上下文的底层逻辑 三、写在最后 一、背景 在如何实现异步发送邮件的时候,遇到过这样一个报错 RuntimeError: Working outside of request context.This typically me…

win7下用iis搭建网站专业网站开发联系方式

外贸行业在Zoho的客户群体中占比较高。因为我们的国际化背景、丰富的产品组合、多语言多币种跨时区、高性价比等特点,成为外贸企业开展业务的选择。在和外贸客户沟通中,发现无论是外贸大拿还是新手小白,大家遇到一个共同的问题——发出去的开…

网站备案 更改ip小程序与手机网站区别

联想ThinkPad笔记本广告向苹果MacBook Air开战 [url]http://www.sina.com.cn[/url] 2008年03月24日 07:21 新浪科技联想ThinkPad X300笔记本广告,暗讽苹果MacBook AirMacbook Air最厚的地方仅有1.94cm,边缘仅0.4cm视频:ThinkPad X300对比Mac…

江西网站搜索引擎优化加速器网页版

气泡堆叠图是堆叠图与气泡图的组合—在堆叠图每根柱子上方添加大小不同的气泡,用于表示另外一个数据变量(如每根柱子各组分的平均值)的大小。 本文利用自己制作的BarBubble工具,进行气泡堆叠图的绘制,先来看一下成品效…

南京建设工程管理局网站公司网站建设模块简介

功能模块: 待办消息,招标公告,中标公告,信息发布 描述: 全过程数字化采购管理,打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力,为外部供…

重庆网站建设运营深圳金科威公司官网

介绍 使用sql语句修改字段名。 命令 alter table 表名 change 旧字段名 新字段名 新数据类型;例子 将a表id字段名改为id1 alter table a change id id1 int(12) NOT NULL;

莱芜网站优化排名公司无锡网站建设有限公司

两者的区别需要通过提交表单后才看得出来,主要是在数据发送方式和接收方式上 1.在客户端,Get方式在通过URL提交数据,就是把表单内的元素,转化成url参数提交,比如你有一个页面index.html,这个页面有一个文本…

中国建设银行网站首页签约网站版块策划

变量 $ 定义变量 $link-color: blue;变量名可以与css中的属性名和选择器名称相同 使用变量 a {color: $link_color; }$highlight-border: 1px solid $link_color;中划线和下划线相互兼容,即中划线声明的变量可以使用下划线的方式引用,反之亦然。 $li…

网站换服务器对网站排名有影响吗宁波seo自然优化技术

要在Docker中修改镜像源,你需要编辑或创建Docker的配置文件来指定新的镜像源地址。以下是如何为Docker配置中国镜像源的步骤: 找到或创建Docker的配置文件daemon.json。 在Linux系统中,该文件通常位于/etc/docker/目录下。 编辑daemon.jso…

瀑布流网站如何seo曲阳网站制作公司

命令设计模式(Command Pattern)在Java中的实现细节如下所述,这将是一个详细的教程,涵盖模式的基本概念、组成部分、实现步骤、以及如何在实际开发中应用这一模式。 命令设计模式基础 命令模式是一种行为设计模式,它将请求封装成对象,允许你参数化客户对请求的调用,队列…

网站建设费钱吗搭建一个网站要多少

【算法】一类支持向量机OC-SVM 前言一类支持向量机OC-SVM 概念介绍示例编写数据集创建实现一类支持向量机OC-SVM完整的示例输出 前言 由于之前毕设期间主要的工具就是支持向量机,从基础的回归和分类到后来的优化,在接触到支持向量机还有一类支持向量机的…

开展农业信息网站建设工作域名怎么做网站

进制 进制也就是进位制,是人们规定的一种进位方法对于任何一种进制—X进制,就表示某一位置上的数运算时是逢X进一位 十进制是逢十进一,十六进制是逢十六进一,二进制就是逢二进一,以此类推,x进制就是逢x进位…

零壹网站建设新闻页面设计

介绍 Apache Superset 是一个现代的企业级商业智能 Web 应用程序。它快速、轻量、直观,并加载了各种选项,使所有技能的用户都可以轻松探索和可视化他们的数据,从简单的饼图到高度详细的 Deck.gl 地理空间图表。 安装 首先安装自制homebrew安…

网站建设中备案网络运营推广是做什么的

C语言的基本构成 知识点:C语言的注释;关键字;书写风格;常量和变量 重要程度:★★★★ 1、C语言的良好风格 用C语言编写的程序,称为C语言源程序,简称C程序。 本节将通过一个简单的C程序例子&…

免费网站建设链接很长 知呼wordpress加广告位

文章目录 [SpringBoot] 后端工程化1 需求2 开发流程3 RequestController 类(操作类)3.1 简单参数(形参名和请求参数名一致)3.2 简单参数(形参名和请求参数名不一致)3.3 复杂实体参数3.4 数组参数3.5 集合参…

音乐设计网站推荐河南工程招标网站

现代城市作为一个复杂系统,牵一发而动全身,城市化进程中产生新的矛盾和社会问题都会影响整个城市系统的正常运转。智慧城市是应对这些问题的策略之一。城市工作要树立系统思维,从构成城市诸多要素、结构、功能等方面入手,系统推进…