flutter
imHere·
很高兴认识你
展开
-
Flutter-虚线组件
1.XFDashedLine效果展示目的:实现效果的同时,提供定制,并且可以实现水平和垂直两种虚线效果:axis:确定虚线的方向; dashedWidth:根据虚线的方向确定自己虚线的宽度; dashedHeight:根据虚线的方向确定自己虚线的高度; count:内部会根据设置的个数和宽高确定密度(虚线的空白间隔); color:虚线的颜色暂时实现上面的定制,后续有新的需求继续添加新的功能点~2. 实现思路分析实现比较简单,主要是根据用户传入的方向确定添加对应的Siz原创 2022-04-11 14:38:15 · 2843 阅读 · 0 评论 -
flutter数据存储封装shared_preferences
import 'package:shared_preferences/shared_preferences.dart';// 设置setStorage(String key, value) async { SharedPreferences prefs = await SharedPreferences.getInstance(); if (value is String) { prefs.setString(key, value); } else if (value is nu.原创 2022-02-04 07:52:44 · 2306 阅读 · 0 评论 -
flutter解决键盘遮挡TextField
Scaffold有一个属性resizeToAvoidBottomInset,默认为true,配合SingleChildScrollView可实现自适应键盘高度class Demo extends StatelessWidget { const Demo({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Scaffold( resizeToAvoid原创 2022-02-03 15:38:22 · 2181 阅读 · 0 评论 -
flutter tabcontroller监听点击调用两次
原因:点击本身出发一次监听,随之产生的动画效果再次出发监听,如果是滑动,仅触发一次监听 解决:看下点击的索引和动画值对不对,过滤掉点击的listen,只显示动画的listen _tabController.addListener(() { if(_tabController.index == _tabController.animation?.value){ print("点击了"); } });...原创 2022-02-02 18:00:14 · 3112 阅读 · 2 评论 -
flutter bottomNavigationBar切换保存页面状态
将body由PageVIew改为IndexedStackbody: SafeArea( child: IndexedStack( children: _tabView, index: _currentTab,)),注意:第一次加载时便实例化所有子页面的State原创 2022-02-02 14:14:58 · 928 阅读 · 0 评论 -
flutter使用eventBus进行组件间通信
event_bus | Dart PackageA simple Event Bus using Dart Streams for decoupling applicationshttps://pub.dev/packages/event_bus1.创建事件总线创建EventBus实例,并将其提供给其他类。通常每个应用程序只有一个事件总线,但可以设置多个事件总线来对一组特定的事件进行分组。import 'package:event_bus/event_bus.dart';Event.原创 2022-02-01 22:42:28 · 974 阅读 · 0 评论 -
Flutter中实现下拉刷新与上拉加载更多
Flutter中实现下拉刷新与上拉加载更多 - 云+社区 - 腾讯云其基本的实现方法是在该组件添加onRefresh事件,当用户下拉刷新时会触发该事件,在该事件中可以用调用一个延时任务Future.delayed( ),在延时任...https://cloud.tencent.com/developer/article/1772193...转载 2022-02-01 21:57:53 · 248 阅读 · 0 评论 -
Flutter ButtonStyle设置圆角
ElevatedButton( child: Text( '提交', style: TextStyle( fontWeight: FontWeight.bold, color: Colors.white[300], fontSize: 14), ), onPressed: () {print("提交");} style: ButtonStyle( //圆角 s.原创 2022-02-01 21:47:22 · 4397 阅读 · 1 评论 -
flutter rpx屏幕适配方案
rpx是小程序中的适配方案,它将750px作为设计稿,1rpx=屏幕宽度/750,其它所有的单位都使用rpx单位。不管是什么屏幕,统一分成750份 在iPhone8上: 1rpx = 375/750 = 0.5px 在iPhone12proMax 上:1rpx = 428/750 = 0.571px所以我们就可以通过上面的计算方式,算出一个rpx,再将自己的size和rpx单位相乘即可: 比如300px的宽度:3002rpx在iPhone8上计算出的结果是300px 在在iPhone12pr原创 2022-01-30 16:02:19 · 2238 阅读 · 0 评论