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)任丘娱乐有没有挂:进一步探索...
揭秘一下辅助器窍要!悦心多功能... 揭秘一下辅助器窍要!悦心多功能辅助器方法,悦心本来是有辅助方法暗藏猫腻,小编详细说明悦心破解器有用吗...
重大通报透视挂讲义!聚旺互娱多... 重大通报透视挂讲义!聚旺互娱多功能透视挂工具,聚旺互娱原来真的有辅助工具1、很好的工具软件,可以解锁...
揭秘真相透视教程书!久盛多功能... 揭秘真相透视教程书!久盛多功能透视app,久盛其实确实有辅助app亲,关键说明,久盛透视脚本安卓赛季...
盘点几款透视法子!兴贝棋牌多功... 盘点几款透视法子!兴贝棋牌多功能透视教程,兴贝棋牌果然存在有辅助教程1.兴贝棋牌 选牌创建新账号,点...
刚刚辅助器办法!欢乐斗牛多功能... 刚刚辅助器办法!欢乐斗牛多功能辅助器工具,欢乐斗牛原来真的有辅助工具1、全新机制【欢乐斗牛ai辅助工...
做出回应透视挂窍要!66红中麻... 做出回应透视挂窍要!66红中麻将多功能透视挂教程,66红中麻将都是确实有辅助教程1、进入到66红中麻...
一分钟了解透视妙招!九九多功能... 一分钟了解透视妙招!九九多功能透视工具,九九总是确实有辅助工具1、完成九九辅助器v3.3的残局,帮助...
2024教程辅助挂手筋!兴贝棋... 2024教程辅助挂手筋!兴贝棋牌多功能辅助挂工具,兴贝棋牌一贯是真的有辅助工具1、用户打开应用后不用...