Flutter & Scaffold & multiple floatingActionButton
2024-09-07 19:24:32
Flutter & Scaffold & multiple floatingActionButton
demo
import 'package:flutter/material.dart';
void main() => runApp(App());
class App extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
// home: StateApp(),
home: Scaffold(
appBar: AppBar(
title: Text("appbar"),
backgroundColor: Colors.blueAccent[700],
),
body: Center(
child: StateApp(),
),
),
);
}
}
class StateApp extends StatefulWidget {
StateApp();
@override
createState() => _StateAppState();
}
class _StateAppState extends State<StateApp> {
int _counter = 0;
// String _randomColor = "#ff00ff";
Color _randomColor = Colors.lightGreen;
void _clearCounter() => setState(() {
// clear
_counter = 0;
_randomColor = Colors.lightGreen;
});
void _updateCounter() => setState(() {
_counter++;
_randomColor = (_counter % 2 == 0) ? Colors.redAccent : Colors.purple;
// random color
});
// _updateCounter() {
// setState(() {
// _counter++;
// });
// }
@override
Widget build(BuildContext context) {
return Scaffold(
// backgroundColor: Colors.lightGreen,
backgroundColor: _randomColor,
body: Center(
child: Column(
children: <Widget>[
Padding(
padding: const EdgeInsets.all(23.0),
child: Text(
'You have pushed the button this many times:',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 18.0,
),
),
),
Center(
child: Text(
'$_counter',
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 23.0,
),
),
),
],
),
),
floatingActionButton: Padding(
// padding: const EdgeInsets.all(8.0),
padding: const EdgeInsets.only(
top: 300.0,
),
child: Column(
children: <Widget>[
// SpeedDial
FloatingActionButton(
onPressed: () async {
// _counter++;
print("clicked = $_counter");
// setState(() {
// _counter++;
// });
_updateCounter();
},
child: Icon(Icons.add),
),
FloatingActionButton(
onPressed: () async {
print("clear = $_counter");
_clearCounter();
},
child: Icon(Icons.remove),
),
],
),
),
);
}
}
refs
https://gist.github.com/duhamelstuff/39a9c24ad1cd1ad376c34bc3aea2ef57#gistcomment-3348355
https://www.youtube.com/watch?v=1FmATI4rOBc
cupertino_icons: ^0.1.3
flutter_speed_dial: ^1.2.1
https://www.youtube.com/watch?v=p2xKPvNZeEA
https://medium.com/@RotBolt/test-cef30fcb5c54
xgqfrms 2012-2020
www.cnblogs.com 发布文章使用:只允许注册用户才可以访问!
最新文章
- 初探Vue
- java netty socket库和自定义C#socket库利用protobuf进行通信完整实例
- C语言实现粒子群算法(PSO)一
- Linux下调试程序方法
- tomcat监控
- BeanShell Assertion in Jmeter
- Spark SQL External Data Sources JDBC官方实现读测试
- 左倾堆(二)之 C++的实现
- C实现通用数据结构--双向链表
- having 子句与where区别
- System.Data.SqlClient.SqlError: 对文件……的目录查找失败[转]
- 又是一道水题 hdu背包
- 泛泰A900 刷4.4专用中文TWRP2.7.1.1版 支持自己主动识别手机版本号(全球首创)
- UVA 1603 Square Destroyer
- 关于在App_Code文件夹自定义类中Session无法使用
- 【前段开发】行内元素和块级元素总结(HTML CSS)
- iOS执行时与method swizzling
- ASP.NET MVC IOC 之AutoFac
- jquery的animate动画
- Javascript百学不厌-递归
热门文章
- BBR implements bbr-like limiter 限流
- 理想的DevOp流程怎么做?看看Slack的代码部署实践 原创 Michael Deng 高可用架构 今天
- [JSOI2019]节日庆典 做题心得
- 高性能缓存 Caffeine 原理及实战
- Java——对象和类
- 服务器CPU又爆了?Linux快速排查Java程序占用CPU很高的方法
- ElasticSearch的查询(二)
- Flink-v1.12官方网站翻译-P003-Real Time Reporting with the Table API
- Jenkins(5)生成allure报告
- 从零开始教你安装Oracle数据库