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

Flutter实战小案例

(实战)点不到的按钮

// 主要实现效果类
class _MyHomePageState extends State<MyHomePage> {// 1.定义要使用的变量double btnLeft = 0;double btnTop = 0;int timeDuration = 500;String textButton = "点我呀";// 2.获得当前设备屏幕尺⼨,需要import 'dart:ui'var s = window.physicalSize / window.devicePixelRatio;// 3.新建⼀个随机对象,import 'dart:math';var rng = new Random()// 4.初始化init变量的值  void initState() {randomPosition();super.initState();}// 5.随机变化left和top的值randomPosition() {setState(() {btnLeft = rng.nextDouble() * (s.width - 100);btnTop = rng.nextDouble() * (s.height - 40);});}// 6.widgets渲染Widget build(BuildContext context) {return Stack(children: [AnimatedPositioned(duration: Duration(milliseconds: timeDuration),left: btnLeft,top: btnTop,width: 100,height: 40,child: ElevatedButton(onPressed: randomPosition,child: Text(textButton),))],);}
}

(实战)点不到的按钮修改

  • 修改按钮的宽200和⾼80
  • 设置背景⾊ rgb 值为 136, 138, 226
  • 按钮文本颜⾊设置为黑⾊
  • 文本设置为:初次见面
class MyHomePage extends StatefulWidget {const MyHomePage({Key? key, required this.title}) : super(key: key);final String title;State<MyHomePage> createState() => _MyHomePageState();
}class _MyHomePageState extends State<MyHomePage> {double btnLeft = 0;double btnTop = 0;int timeDuration = 500;String textButton = "初次见面";var s = window.physicalSize / window.devicePixelRatio;var rng = Random();// 创建背景颜色对象var backColor = const BoxDecoration(color: Color.fromRGBO(136, 138, 226, 1));void initState() {randomPosition();super.initState();}randomPosition() {setState(() {btnLeft = Random().nextDouble() * (s.width - 100);btnTop = Random().nextDouble() * (s.height - 40);});}Widget build(BuildContext context) {return Container(decoration: backColor,child: Stack(children: [Positioned(left: btnLeft,top: btnTop,width: 200,height: 80,child: ElevatedButton(onPressed: randomPosition,child: Text(textButton,// 修改文本颜色style: const TextStyle(color: Colors.black,),),)),],),);}
}

相关文章:

Flutter实战小案例

(实战)点不到的按钮 // 主要实现效果类 class _MyHomePageState extends State<MyHomePage> {// 1.定义要使用的变量double btnLeft 0;double btnTop 0;int timeDuration 500;String textButton "点我呀";// 2.获得当前设备屏幕尺⼨&#xff0c;需要impor…...

uniapp转小程序,小程序转uniapp方法

&#x1f935; 作者&#xff1a;coderYYY &#x1f9d1; 个人简介&#xff1a;前端程序媛&#xff0c;目前主攻web前端&#xff0c;后端辅助&#xff0c;其他技术知识也会偶尔分享&#x1f340;欢迎和我一起交流&#xff01;&#x1f680;&#xff08;评论和私信一般会回&#…...

WPF中Frame

在Windows Presentation Foundation (WPF) 中&#xff0c;Frame 控件是一个非常重要的元素&#xff0c;主要用于实现页面导航和内容的动态加载。Frame 类似于网页开发中的iframe&#xff0c;但它是WPF应用程序中的一个容器&#xff0c;能够显示不同的页面或控件内容。 以下是F…...

大数据基础:Doris重点架构原理

文章目录 Doris重点架构原理 一、Apache Doris介绍 二、Apache Doris使用场景 三、Apache Doris架构原理 四、Apache Doris 特点 Doris重点架构原理 一、Apache Doris介绍 基于 MPP 架构的高性能、实时的分析型数据库&#xff0c;以极速易用的特点被人们所熟知&#xff…...

.NET Framework、.NET Core 、 .NET 5、.NET 6和.NET 7 和.NET8 简介及区别

简述 在软件开发的宇宙中&#xff0c;.NET是一个不断扩展的星系&#xff0c;每个版本都像是一颗独特的星球&#xff0c;拥有自己的特性和环境。作为技术经理&#xff0c;站在选择的十字路口&#xff0c;您需要一张详尽的星图来导航。本文将作为您的向导&#xff0c;带您穿越从.…...

k8s核心操作_存储抽象_K8S中使用ConfigMap抽取配置_实现配置热更新---分布式云原生部署架构搭建032

现在有个问题,是上面我们利用pv和pvc 就是持久卷 以及 持久卷申请,实现了对存储的,pod删除以后,对其使用的存储空间也进行了删除,那么还有个问题,对于redis这种我们希望,他的配置也管理起来. 比如这个redis的配置文件. 以后其他的配置文件也是这样. 使用配置文件的存储在k8s中…...

【前端】SpringBootWeb 篇-入门了解 Spring Cache、Spring Task与WebSocket 框架

在SpringBootWeb开发中&#xff0c;Spring Cache、Spring Task与WebSocket框架是三个非常重要的组件&#xff0c;它们分别用于缓存管理、任务调度和实时通信。以下是对这三个框架的入门了解&#xff1a; 一、Spring Cache 1. 简介 Spring Cache是Spring框架提供的缓存抽象&a…...

应用最优化方法及MATLAB实现——第4章代码实现

一、概述 之前对这本书的第三章进行了代码实现&#xff0c;这篇博客是对这本书第4章相关代码进行实现&#xff0c;部分内容安装书中代码无法实现相应功能&#xff0c;MATLAB会报错&#xff0c;对其进行一定程度的更改后&#xff0c;可以正常运行&#xff0c;与书中所给示例运行…...

搜维尔科技:Riablo提供一种创新的康复解决方案,通过激活本体感觉,并通过视听反馈促进神经肌肉的训练。

Riablo提供一种创新的康复解决方案&#xff0c;通过激活本体感觉&#xff0c;并通过视听反馈促进神经肌肉的训练。 搜维尔科技&#xff1a;Riablo提供一种创新的康复解决方案&#xff0c;通过激活本体感觉&#xff0c;并通过视听反馈促进神经肌肉的训练。...

NodeJS技巧:在循环中管理异步函数的执行次数

背景介绍 在现代Web开发中&#xff0c;NodeJS因其高效的异步处理能力而备受青睐。尤其在数据抓取、网络爬虫等应用场景中&#xff0c;NodeJS的非阻塞I/O特性使其成为不二之选。然而&#xff0c;在实际编程过程中&#xff0c;我们经常会遇到一个棘手的问题——如何在循环中控制…...

debian 实现离线批量安装软件包

前言 实现在线缓冲需要的软件和对应依赖的包&#xff0c;离线进行安装 &#xff0c;用于软件封装。 测试下载一个gcc和依赖环境&#xff0c;关闭默认在线源&#xff0c;测试离线安装gcc和依赖环境 兼容 debian ubuntu/test 测试下载安装包到目录 vim /repo_download.sh #!…...

远程开机准备工作

本文章以华硕主板B460M为样板&#xff0c;进行远程开机的前提设置 第一步主板设置 开机按del进入bios主界面&#xff0c;进入高级模式 找到高级-----高级电源管理 进去以后选择由pci_e设备唤醒点击开启 设置完成以后保存并退出 第二步网卡设置 打开设备管理器找到网络适配器…...

PGCCC|【PostgreSQL】PCA+PCP+PCM等IT类认证申报个税退税指南

小编特将PostgreSQL证书申报个税退税流程&#xff0c;编辑成文&#xff0c;供大家申报参考哦~ 1.申报专项附加扣除 第一步&#xff1a;打开个人所得税APP&#xff0c;选择“专项附加扣除填报”&#xff1a; 第二步&#xff1a;“扣除年度”选择您要申报的年度&#xff0c;并…...

让AI语言模型自由飞翔:LangChain框架的奇妙世界

今天&#xff0c;我将为大家揭开一项令人激动的技术——LangChain。想象一下&#xff0c;如果能将人工智能的强大能力与我们日常使用的数据和工具无缝连接&#xff0c;那将开启怎样崭新且无限的可能&#xff01; LangChain&#xff0c;一个专为大型语言模型设计的框架&#xf…...

solidity基础语法(以太坊solidity合约)

solidity基础语法&#xff08;以太坊solidity合约&#xff09; 1-值类型和取值范围2-引用类型3-引用类型高阶4-固定数组和动态数组 1-值类型和取值范围 https://learnblockchain.cn/docs/solidity/introduction-to-smart-contracts.html#subcurrency https://learnblockchain…...

【机器学习实战】电力需求预测挑战赛 Datawhale AI 夏令营 task2

【机器学习实战】电力需求预测挑战赛 Datawhale AI 夏令营 task2 一、赛题背景二、赛题任务三、评审规则四、具体实践4.1 实现的思路4.2 理论介绍GBDTLightGBM 4.3 代码的实现与运行4.3.1 导入模块4.3.2 探索性数据分析&#xff08;EDA&#xff09;4.3.3 特征工程4.3.4 模型训练…...

【设计模式】【创建型模式】【02工厂模式】

系列文章 可跳转到下面链接查看下表所有内容https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501文章浏览阅读2次。系列文章大全https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5501 目录 系…...

FPGA设计中的流水线 -分割大的计算电路可以更快的处理数据。

FPGA&#xff08;现场可编程门阵列&#xff09;设计中的流水线优化是一种提高设计性能的技术&#xff0c;它通过将设计分解为多个阶段或步骤来实现。每个阶段可以并行执行&#xff0c;从而提高整体的吞吐量和效率。以下是流水线优化的一些关键概念和作用&#xff1a; 意思&…...

GNU/Linux - U-BOOT的GPIO command

在嵌入式Linux开发中&#xff0c;先运行的是u-boot&#xff0c;然后再加载Linux内核。 启动时如果设置了u-boot等待时间&#xff0c;在等待时间内&#xff0c;按任意键就会进入u-boot命令行环境。 在u-boot命令行环境下&#xff0c;可以使用gpio命令来操作GPIO。 Synopsis gpi…...

35.UART(通用异步收发传输器)-RS232(2)

&#xff08;1&#xff09;RS232接收模块visio框图&#xff1a; &#xff08;2&#xff09;接收模块Verilog代码编写: /* 常见波特率&#xff1a; 4800、9600、14400、115200 在系统时钟为50MHz时&#xff0c;对应计数为&#xff1a; (1/4800) * 10^9 /20 -1 10416 …...

从蓝图到落地:基于IEEE 830标准构建数字化车间需求规格说明书

1. 为什么数字化车间需要IEEE 830标准&#xff1f; 在汽车制造车间推进数字化转型时&#xff0c;我见过太多团队一上来就急着写代码、买设备&#xff0c;结果系统上线后才发现功能与业务脱节。这时候IEEE 830标准就像一份施工蓝图&#xff0c;它能帮我们把模糊的"数字化愿…...

对比直接购买与使用TaotokenTokenPlan的月度成本体感

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 对比直接购买与使用Taotoken TokenPlan的月度成本体感 对于个人开发者或小型团队而言&#xff0c;在大模型应用开发过程中&#xf…...

【技术解读】xNIDS:如何为深度学习入侵检测系统“翻译”可执行的主动防御规则?

1. 深度学习入侵检测的"黑盒困境"&#xff1a;为什么需要翻译器&#xff1f; 第一次接触深度学习入侵检测系统&#xff08;DL-NIDS&#xff09;时&#xff0c;我被它的检测准确率惊艳到了——某些场景下能达到99%以上的识别率。但当我试图把它部署到实际生产环境时&a…...

Logstalgia高级配置技巧:自定义颜色、分组和过滤规则

Logstalgia高级配置技巧&#xff1a;自定义颜色、分组和过滤规则 【免费下载链接】Logstalgia replay or stream website access logs as a retro arcade game 项目地址: https://gitcode.com/gh_mirrors/lo/Logstalgia Logstalgia是一款将网站访问日志以复古街机游戏形…...

Firefox Android与Firefox Focus对比分析:选择最适合你的浏览器

Firefox Android与Firefox Focus对比分析&#xff1a;选择最适合你的浏览器 【免费下载链接】firefox-android :warning: This repository hosts the Firefox for Android (Fenix), Focus for Android, and Mozilla Android Components projects. It is now developed and main…...

别再截图了!用AD21把PCB 3D模型直接塞进PDF,客户评审一目了然

用AD21将PCB 3D模型嵌入PDF&#xff1a;提升设计评审效率的终极方案 在硬件开发流程中&#xff0c;设计评审环节往往成为项目推进的瓶颈。传统方式下&#xff0c;工程师不得不反复截取多角度2D图纸&#xff0c;或录制繁琐的演示视频&#xff0c;既耗费时间又难以全面展示设计细…...

Zynq UltraScale+ MPSoC SoM选型与开发实战:从异构计算到嵌入式系统设计

1. 项目概述&#xff1a;为什么选择Zynq UltraScale MPSoC SoM&#xff1f; 在嵌入式系统开发&#xff0c;尤其是需要高性能计算、实时处理与灵活硬件加速的领域&#xff0c;选型往往是决定项目成败的第一步。过去几年&#xff0c;我经手过不少项目&#xff0c;从简单的微控制器…...

软件开发开源日报

&#x1f4cc; 今日概览今日软件开发开源领域呈现多元化发展态势&#xff0c;各大科技公司持续推进AI基础设施、云原生平台和开发者工具的开源进程。字节跳动DeerFlow 2.0成为社区焦点&#xff0c;腾讯混元Hy3开源引发行业热议&#xff0c;华为openEuler发布超节点OS重大更新。…...

从STM32转战合泰HT32F52352:手把手教你用GPTM定时器搞定四路舵机PWM控制

从STM32到HT32F52352的平滑迁移&#xff1a;GPTM定时器实现四路舵机PWM控制实战 对于习惯了STM32生态的开发者而言&#xff0c;初次接触合泰HT32系列MCU时往往面临两个挑战&#xff1a;如何快速理解新芯片的架构设计&#xff0c;以及如何将已有的STM32开发经验有效迁移。HT32F…...

LeetCode 数据流中第K大元素题解

LeetCode 数据流中第K大元素题解 题目描述 设计一个数据流&#xff0c;找到数据流中第 k 大的元素。 示例&#xff1a; 输入&#xff1a;k 3, arr [4,6,5]输出&#xff1a;5 解题思路 方法&#xff1a;堆 思路&#xff1a; 使用最小堆维护前 k 大的元素。遍历数据流&#xff…...