wordpress建站教程百科聊天app搭建

张小明 2026/1/10 18:55:57
wordpress建站教程百科,聊天app搭建,三五互联做网站吗,上传文件后网站建设中效果图关键控件Transform.translate - 平移变换组件基本语法Transform.translate(offset: Offset(dx, dy), // 必需参数child: Widget, // 要平移的子组件transformHitTests: true, // 可选 )核心参数#xff1a; offset - 平移偏移量dx: 水平方向偏移量#xff0…效果图关键控件Transform.translate - 平移变换组件基本语法Transform.translate( offset: Offset(dx, dy), // 必需参数 child: Widget, // 要平移的子组件 transformHitTests: true, // 可选 )核心参数offset- 平移偏移量dx: 水平方向偏移量正数向右负数向左 dy: 垂直方向偏移量正数向下负数向上滑动中监听onHorizontalDragStart: // 滑动开始时触发 onHorizontalDragUpdate: // 滑动过程中连续触发 onHorizontalDragEnd: // 滑动结束时触发 onHorizontalDragCancel: // 滑动被取消时触发关键知识点1.为什么向右滑动details.delta.dx为正数向左滑动details.delta.dx为负数坐标系理解 在Flutter的滑动事件中 屏幕坐标系原点(0,0)在屏幕左上角 X轴从左到右是正方向 Y轴从上到下是正方向 delta.dx 的含义 delta.dx 表示水平方向的位移变化量 正值 向右滑动手指从左边移动到右边 负值 向左滑动手指从右边移动到左边 (0,0) 左上角 ┌─────────────┐ │ │ │ ------│---- X轴 (正方向向右) │ | │ │ ↓ │ │ Y轴 │ │ (正方向向下) │ └─────────────┘实现步骤1.定义变量double _slideOffset 0.0; //当前滑动偏移量 final double _maxSlideDistance 60.0; // 最大滑动距离删除按钮的宽度也设置了这个值 bool _showDeleteButton false;//是否显示删除按钮提示2.圆角矩形叠在删除按钮上面所以要用stack组件先构建删除按钮// 删除按钮在内容下面 Positioned.fill( child: Align( alignment: Alignment.centerRight, child: GestureDetector( onTap: (){ //删除按钮的点击时间 print(点击删除按钮); }, child: Container( width: 60, height: 40, decoration: BoxDecoration( color: Colors.red, borderRadius: BorderRadius.circular(20), ), child: Center( child: Icon( Icons.delete, color: Colors.white, size: 20, ), ), ), ) ), ),3.定义可滑动的内容// 可滑动的内容 GestureDetector( //处理滑动更新 onHorizontalDragUpdate: (details) { setState(() { //a - b;表达式表示:a a - b //details.delta.dx表示用户手指在X轴移动的距离向右滑动details.delta.dx为正数向左滑动details.delta.dx为负数补充说明 //从 _slideOffset 中减去 details.delta.dx 的值。 _slideOffset - details.delta.dx; //限制滑动范围 if (_slideOffset 0) _slideOffset 0; //不能向右移 if (_slideOffset _maxSlideDistance) _slideOffset _maxSlideDistance; //移动距离不能超过设置的最大滑动距离 //显示/隐藏删除按钮的逻辑 if (_slideOffset 20 !_showDeleteButton) {//左移大于20且删除按钮没有显示的时候 _showDeleteButton true; //显示 } else if (_slideOffset 20 _showDeleteButton) { _showDeleteButton false; } }); }, //处理滑动结束 onHorizontalDragEnd: (details) { if (_slideOffset 30) { //用户左滑的距离大于30则显示删除按钮 _slideOffset _maxSlideDistance; } else { //否则就不显示删除按钮 _slideOffset 0; _showDeleteButton false; } setState(() {}); }, child: Transform.translate( //平移变换组件 //offset(dx,dy) //dx表示X轴偏移dy表示Y轴偏移 //Offset(正数, 0) → 向右移动 Offset(负数, 0) → 向左移动 //Offset(10, 0)表示向右移动10像素 Offset(-10, 0)表示向左移动10像素 Offset(0, 0)表示不移动 offset: Offset(-_slideOffset, 0),//注意这里这里有个负号所以这个小于零变成右移大于零变成左移 child: Container( width: 320, height: 40, decoration: BoxDecoration( color: Color(0xFF1E2134), borderRadius: BorderRadius.circular(20), ), child: Center( child: Text( //通过是否显示删除按钮来更新文本 _showDeleteButton ? 松手删除 : 向右滑动显示删除, style: TextStyle( color: Colors.white, fontSize: 16, ), ), ), ), ), ),代码实例import package:flutter/cupertino.dart; import package:flutter/material.dart; class HomePage extends StatefulWidget { const HomePage({super.key}); override StateStatefulWidget createState() _MeditationPageState(); } class _MeditationPageState extends StateHomePage with SingleTickerProviderStateMixin { double _slideOffset 0.0; //当前滑动偏移量 final double _maxSlideDistance 60.0; // 最大滑动距离删除按钮的宽度也设置了这个值 bool _showDeleteButton false;//是否显示删除按钮提示 override Widget build(BuildContext context) { return Scaffold( backgroundColor: Colors.transparent, body: Container( width: double.infinity, height: double.infinity, child: Center( child: Container( width: 320, margin: EdgeInsets.symmetric(horizontal: 20), child: Stack( children: [ // 删除按钮在内容下面 Positioned.fill( child: Align( alignment: Alignment.centerRight, child: GestureDetector( onTap: (){ //删除按钮的点击时间 print(点击删除按钮); }, child: Container( width: 60, height: 40, decoration: BoxDecoration( color: Colors.red, borderRadius: BorderRadius.circular(20), ), child: Center( child: Icon( Icons.delete, color: Colors.white, size: 20, ), ), ), ) ), ), // 可滑动的内容 GestureDetector( //处理滑动更新 onHorizontalDragUpdate: (details) { setState(() { //a - b;表达式表示:a a - b //details.delta.dx表示用户手指在X轴移动的距离向右滑动details.delta.dx为正数向左滑动details.delta.dx为负数补充说明 //从 _slideOffset 中减去 details.delta.dx 的值。 _slideOffset - details.delta.dx; //限制滑动范围 if (_slideOffset 0) _slideOffset 0; //不能向右移 if (_slideOffset _maxSlideDistance) _slideOffset _maxSlideDistance; //移动距离不能超过设置的最大滑动距离 //显示/隐藏删除按钮的逻辑 if (_slideOffset 20 !_showDeleteButton) {//左移大于20且删除按钮没有显示的时候 _showDeleteButton true; //显示 } else if (_slideOffset 20 _showDeleteButton) { _showDeleteButton false; } }); }, //处理滑动结束 onHorizontalDragEnd: (details) { if (_slideOffset 30) { //用户左滑的距离大于30则显示删除按钮 _slideOffset _maxSlideDistance; } else { //否则就不显示删除按钮 _slideOffset 0; _showDeleteButton false; } setState(() {}); }, child: Transform.translate( //平移变换组件 //offset(dx,dy) //dx表示X轴偏移dy表示Y轴偏移 //Offset(正数, 0) → 向右移动 Offset(负数, 0) → 向左移动 //Offset(10, 0)表示向右移动10像素 Offset(-10, 0)表示向左移动10像素 Offset(0, 0)表示不移动 offset: Offset(-_slideOffset, 0),//注意这里这里有个负号所以这个小于零变成右移大于零变成左移 child: Container( width: 320, height: 40, decoration: BoxDecoration( color: Color(0xFF1E2134), borderRadius: BorderRadius.circular(20), ), child: Center( child: Text( //通过是否显示删除按钮来更新文本 _showDeleteButton ? 松手删除 : 向右滑动显示删除, style: TextStyle( color: Colors.white, fontSize: 16, ), ), ), ), ), ), ], ), ), ), ), ); } }
版权声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

我们是设计师 网站建设专家wordpress注册登录

Packmol实战指南:3步构建完美的分子动力学初始构型 【免费下载链接】packmol Packmol - Initial configurations for molecular dynamics simulations 项目地址: https://gitcode.com/gh_mirrors/pa/packmol 分子动力学模拟是研究分子体系动态行为的重要工具…

张小明 2026/1/6 1:08:41 网站建设

php可以做移动端网站深圳专业建站多少钱

Windows 8 媒体播放与项目搭建指南 1. 引言 长期以来,微软平台上的媒体体验一直是个短板,但并非系统本身缺乏相关功能。Windows 其实提供了广泛的内置播放和管理功能,只是在向终端用户开放媒体内容创建和管理工具方面有所不足。不过,随着 Windows 8 的发布,借助 Windows…

张小明 2025/12/24 19:07:02 网站建设

电子商务网站界面设计博物馆建设网站有什么好处

ClickHouse vs CockroachDB:分布式系统选择的终极指南——从业务场景到技术底层的全面对比 关键词 分布式数据库选型、OLAP vs OLTP、ClickHouse列存储、CockroachDB事务一致性、分布式SQL、实时分析、强一致性 摘要 当你面临“如何选择分布式数据库”的灵魂拷问…

张小明 2026/1/8 0:50:04 网站建设

自建淘宝客APP网站模板wordpress二次开发难吗

第一章:Open-AutoGLM使用体验在实际项目中集成 Open-AutoGLM 后,其自动化推理与模型调度能力显著提升了开发效率。该框架支持动态模型加载与上下文感知的任务分发,适用于多场景的自然语言处理需求。安装与初始化 通过 pip 安装最新版本&#…

张小明 2026/1/6 1:25:18 网站建设

志成网站设计制作营销型网站可以吗

GLM-4.5-FP8:千亿级AI推理的成本革命 【免费下载链接】GLM-4.5-FP8 项目地址: https://ai.gitcode.com/zai-org/GLM-4.5-FP8 当企业AI应用从概念验证走向规模化部署,高昂的推理成本已成为阻碍技术落地的最大障碍。面对千亿级参数模型的部署需求&…

张小明 2025/12/24 19:03:53 网站建设

网站页面维护app开发定制外包服务商e

第一章:Open-AutoGLM未成年人隐私保护设置为保障未成年人在使用 Open-AutoGLM 语言模型过程中的隐私安全,系统提供多层级隐私保护机制。这些机制涵盖数据过滤、访问控制与内容审核策略,确保符合《儿童在线隐私保护法案》(COPPA&am…

张小明 2026/1/6 11:41:53 网站建设