先说一下,flutter_launcher_icons真是一个好插件,至少你不需要再额外为自己的APP准备图片,也不用单独下载什么app来生成图片,直接运行flutter pub run flutter_launcher_icons:main 即可
膘叔的简单人生
先说一下,flutter_launcher_icons真是一个好插件,至少你不需要再额外为自己的APP准备图片,也不用单独下载什么app来生成图片,直接运行flutter pub run flutter_launcher_icons:main 即可
在开发安卓的时候,因为还没有用什么第三方的工具,比如自动构建和自动上传,所以就想点办法了。比如我flutter run apk的时候,会构建android的文件,然后我打开七牛,上传到指定目录下。再到接口文档里改一下。。。一个自动更新就这样完成了。
如题,虽然看得出这种是段子,月入1.2万,15年攒10万肯定是没问题,但是女主来一说就很恐怖了,比如:
|
房贷 |
3000 |
|
伙食 |
2500 |
|
电 |
240 |
|
水 |
120 |
|
煤气 |
200 |
|
物业 |
150 |
|
车位费 |
260 |
|
网 |
220 |
|
烟 |
600 |
|
衣服 |
200 |
|
酒 |
200 |
|
加油 |
500 |
|
车险 |
360 |
|
理发 |
20 |
|
外出吃饭 |
300 |
|
零钱 |
200 |
|
人情 |
500 |
|
小孩伙食费 |
400 |
|
保险 |
100 |
|
文具 |
100 |
|
蓝球、散打 |
800 |
|
小孩零用 |
100 |
|
小孩衣服 |
200 |
|
牛奶水果 |
300 |
|
家庭生活费 |
100 |
用M1的时候起初是挺爽的,但后面随着要开的IDE越来越多,16G内存就不够用了。当年最大只有16G,真让人痛苦。
本来想着换吧,但一来,2年的分期还没到,AC啥的都没过期,感觉没意义。二来,家里笔记本真的有点多了。14、18,再加M1,如果再来一台。。。也太占地方了。
原来以为通用控制只能控制PAD,结果 看到电脑也可以控制,这个就太方便了,立即把18拿出来用,32G内存做啥都够了。。就是时不时的风扇会响,自从用了M1,已经几年没有听过风扇的声音了。。。。真不知道以前18款那2年我是怎么用过来的。。
顺便再说一个,M1最大只能接一个外置显示器,用通用控制后,可以不使用镜像,而用作扩展显示器,一下子,相当于变成2个外接显示器了。。。
所以。。。是当成第二台电脑,还是当成第二台显示器,就看心情了。。HOHO
先申明,不算是米粉,但确实家里小米的东西比较多,手机、PAD、电脑、吸尘器、牙刷、灯,现在又买了个打印机。(哦,还有路由、音箱等)
突然发现自己还有一个database的分类,想想以前还在为了折腾怎么弄mysql更好,后面被各种数据库折腾(小型公司,不涉及大数据库,都是常规的,象pg/sqlite/sqlserver/mongodb/redis)。
本文属于记事
在使用GetView的时候(其实StatelessWidget也一样)。只要使用了getX的Map<String,dynamic>,不管是get还是set,都会报setState的错误,(setState() or markNeedsBuild() called during build)。说白了和上次的问题一样:flutter中页面渲染完成的回调,但这次没有办法使用。上次是设置变量,这次是直接读变量。
当然,即使报错了,但页面还是可以正常渲染,上次是直接就红屏了。因为在项目中,没有细看原理,想了下还是应该没有设置初始值导致的。所以特别设置了一下初始值。问题解决。
做个笔记。
这玩意就有点象vue中的mounted/或者其他的afterLoad等操作。怎么突然想要用到这个呢,是因为我用了getX,之前用riverpod,也没注意过这个问题。用了GetX之后,这个东西就被派上用场了。
原因是我有一个设置背景图的功能。本来想着一切换页面,背景图就加载出来,但事实上我把这个功能提前后,进入页面就直接报错,说是obx在页面没有渲染完成的时候不能调用。
This Obx widget cannot be marked as needing to build because the framework is already in the process of building widgets. A widget can be marked as needing to be built during the build phase only if one of its ancestors is currently building. This exception is allowed because the framework builds parent widgets before children, which means a dirty descendant will always be built. Otherwise, the framework might not visit this widget during this build phase.
于是,使用:
WidgetsBinding.instance.addPostFrameCallback((time) {
final back = Get.find<BackgroundController>();
back.set(Assets.backgroundImage);
});
问题解决
比如我们常用的alertDialog,只要显示一个message,不显示title的话,有点象toast。这时候如何自定义宽度 呢?