正常情况下,我们都知道,flutter使用getx的时候,只要在Obx方法中都可以监听变量的变更,同时会局部刷新Obx包裹的Widget,但如果GetxController绑定的变量是list的时候,你会发现,无论你怎么 处理,Widget都不刷新。
有个最简单的办法:在设置变量的时候,同时让他refresh一下。比如:
count.value.add(1);
count.refresh();
这时候再看Widget就都更新了。
纯记录
Submitted by gouki on 2022, June 5, 8:49 PM
正常情况下,我们都知道,flutter使用getx的时候,只要在Obx方法中都可以监听变量的变更,同时会局部刷新Obx包裹的Widget,但如果GetxController绑定的变量是list的时候,你会发现,无论你怎么 处理,Widget都不刷新。
有个最简单的办法:在设置变量的时候,同时让他refresh一下。比如:
count.value.add(1);
count.refresh();
这时候再看Widget就都更新了。
纯记录
Submitted by gouki on 2022, May 29, 2:05 AM
在使用mac的时候,偶尔会出现触摸板3指以上的功能失效,这个太影响使用了,毕竟mac最有用的功能,我感觉就是窗口切换。。。触摸板在外接键盘后,这就是我唯一的功能了,如果他也失效,那实在令人痛苦
Submitted by gouki on 2022, May 17, 10:29 AM
在开发flutter的macOS版时,报这个错误:./macos/Pods/Pods.xcodeproj: warning: The macOS deployment target 'MACOSX_DEPLOYMENT_TARGET' is set to 10.6, but the range of supported deployment target versions is 10.9 to 12.3.99.
可以很明确的看到文件是:/macos/Pods/Pods.xcodeproj,虽然这个warning并不影响程序的运行,看确实看了不舒服,于是打开/macos/Pods/Pods.xcodeproj,搜索:MACOSX_DEPLOYMENT_TARGET,一共有3处,将他对应的值10.6,修改为10.9,问题解决。
Submitted by gouki on 2022, May 15, 1:54 PM
在Windows和MacOs上面程序的宽高是可以随便拖拉的,不象ios/android,总归是一定固定的宽高。为了保证部分输入框或者界面在拖拉时不会UI越界,所以就要设定一个最小宽高。当然你要为了保险,你可以 强制设定最小值和最大值一致,也就是让APPi窗口固定大小。但一般我们都只是限定最小值。。。毕竟,最大的话,丑就丑了(反正我没有UI设计师)
基于此,官方的flutter-desktop--embedding有一个插件:window_size,由于他没有发布到pub.dev,因此只能通过手动改pubspec.yml方法来进行加载
修改:pubspec.yml,在dependencies下增加:
ref的话,可以直接去github上看,用最新的即可。
然后可以在runApp前进行判断,最简单的办法就是2行代码:
当然实际情况得从自身出发,不能这样随意。。
参考:
1、flutter桌面版开发设置窗口大小(最小尺寸、最大尺寸、固定尺寸),窗口标题。 | 码海无涯 (yefei572.github.io)
2、flutter-desktop-embedding/README.md at master · google/flutter-desktop-embedding (github.com)
后续就要看看这个什么时候更新了:flutter-desktop-embedding/plugins/menubar at master · google/flutter-desktop-embedding (github.com),这个一更新。menubar就可以派用场了。
---EOF
后记:目前还没有判断窗口resize的事件,理论上应该要判断这个。后面会尝试加上
Submitted by gouki on 2022, May 15, 11:24 AM
用flutter开发后要打包时,需要对项目目录进行微调