Flutter实战小案例
创始人
2025-01-07 14:35:46
0

(实战)点不到的按钮

// 主要实现效果类 class _MyHomePageState extends State {   // 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变量的值     @override   void initState() {     randomPosition();     super.initState();   }   // 5.随机变化left和top的值   randomPosition() {     setState(() {       btnLeft = rng.nextDouble() * (s.width - 100);       btnTop = rng.nextDouble() * (s.height - 40);     });   }  // 6.widgets渲染   @override   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;    @override   State createState() => _MyHomePageState(); }  class _MyHomePageState extends State {   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));   @override   void initState() {     randomPosition();     super.initState();   }    randomPosition() {     setState(() {       btnLeft = Random().nextDouble() * (s.width - 100);       btnTop = Random().nextDouble() * (s.height - 40);     });   }    @override   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,                   ),                 ),               )),         ],       ),     );   } } 

相关内容

热门资讯

一分钟辅助!免费闲逸辅助器免费... 一分钟辅助!免费闲逸辅助器免费(辅助挂)原来是真的辅助工具(有挂解密)1)免费闲逸辅助器免费辅助插件...
第三方插件!werplan有挂... 第三方插件!werplan有挂吗,微信决胜游戏辅助,大纲教程(有挂方略)1)微信决胜游戏辅助有没有挂...
第6分钟辅助!闲逸游戏游透视吗... 第6分钟辅助!闲逸游戏游透视吗(辅助挂)好像真的有辅助技巧(有挂秘诀)1、完成闲逸游戏游透视吗有辅助...
教学辅助挂!hhpoker外挂... 教学辅助挂!hhpoker外挂靠谱吗,贪玩游戏辅助,讲义教程(有挂详细)1、下载好贪玩游戏辅助透视辅...
1分钟辅助!wepokerpl... 1分钟辅助!wepokerplus辅助作弊(辅助挂)竟然是真的辅助插件(有挂方针)1、wepoker...
今天下午!wepoker买脚本... 今天下午!wepoker买脚本靠谱吗,蜀山四川小程序技巧,模板教程(有挂方法)一、蜀山四川小程序技巧...
7分钟辅助!财神13张辅助工具... 7分钟辅助!财神13张辅助工具(辅助挂)果然是有辅助工具(有挂总结)1、完成财神13张辅助工具有辅助...
事发当天!wepoker数据分... 事发当天!wepoker数据分析工具,上饶辅助设备出租,学习教程(有挂分析)1、上饶辅助设备出租辅助...
第三分钟辅助!金虎爷科技(辅助... 第三分钟辅助!金虎爷科技(辅助挂)都是有辅助app(有挂存在)1、上手简单,内置详细流程视频教学,新...
方法辅助挂!wepoker有没... 方法辅助挂!wepoker有没有挂,盛世辅助工具,模板教程(有挂辅助)进入游戏-大厅左侧-新手福利-...