
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
z菜系店名地址价位营业时间特色菜推荐上榜理由避坑(仁者见仁请理性表达观点)吃后评论(提名者以外)1)本帮小吃振鼎鸡(曹杨店)兰溪路149号人均: 50-10010:30-20:30白切鸡,各类鸡杂,拌面,鸡粥,鸡杂汤 白切鸡:40左右500g国营local 白切鸡店,周末会排队 原汁原味手写点单,没有服务,只有味道和情怀。 店内环境一般,可以外带回去吃哦!论斤算的一个人点的时候最好说好价钱而不是半
InheritedWidget并没有我一开始想的那么牛逼,值一变就会立马通知所有依赖项更新,或者说,它确实可以通知所有依赖性更新,但是有一个被我遗忘的前提,那就是,他自己的build被调用,他才会通知所有依赖项更新,如果只是count++,没有调用setState,ShareDataWidget的build是不够重构的,而且这里面有个细节,ShareDataWidget里面的data是final的
可以看到,DartExecutor里面的binaryMessenger本质上又利用了DartMessenger,而这个DartMessenger就是最底层的消息交互的实现类(创建消息队列,通过安卓线程池处理消息,接收flutter端消息,向flutter端发送或者回复消息等)从281行可以看出,进一步调用的是flutterJNI里面的方法,flutterJNI里面封装的都是native方法也就是c
这是出于安全性考虑,因为await的作用是等待执行,会阻塞后面的代码,如果允许在main队列里面使用,会阻塞主线程,这是系统框架所不允许的,但是异步方法体(event队列)的执行优先级本身就是最低的,因此,可以在异步方法体里面执行await等待操作(反正main里面任务都执行完了,你想等就等吧)首先要知道await的作用是什么,顾名思义,等待,等待前面执行完,获得结果,再执行后面的代码,比如请求网

简单直白一点讲,刚刚插件的安卓代码里面用到了activity和binaryMessenger(通信大哥,一般存在于flutter引擎中),这两个东西在插件里面是不会凭空产生的,只有我们自己项目的安卓主工程里面才有,再换个说法,我们知道安卓里面一切功能都是以context为基础,查看资源,打开文件,跳转页面都需要有context,插件里面的安卓代码,怎么会凭空有一个context来处理相关的逻辑,比
这是出于安全性考虑,因为await的作用是等待执行,会阻塞后面的代码,如果允许在main队列里面使用,会阻塞主线程,这是系统框架所不允许的,但是异步方法体(event队列)的执行优先级本身就是最低的,因此,可以在异步方法体里面执行await等待操作(反正main里面任务都执行完了,你想等就等吧)首先要知道await的作用是什么,顾名思义,等待,等待前面执行完,获得结果,再执行后面的代码,比如请求网

子view中处理重写子view里面的dispatchTouchEvent,写上getParent().requestDisallowInterceptTouchEvent(true);即可请求父布局不要拦截事件,并且在onTouchEvent中返回true(不把事件继续往父布局传递)...
因此可以得出结论,当ScreenUtils初始化的时候的宽高和设备的逻辑宽高完全一致的时候,效果是完全一样的,换言之,如果初始化设置的宽高和设备的逻辑宽高不一致,则强制使用初始化设置的宽高为准,这样,不同的手机,都会强制使用screenUtils初始化时设置的宽高作为标准来达成统一。如果使用screenutils,那当前的100就不能当初逻辑像素,需要先转换一次(最终的逻辑宽度=设置的宽度(100

众所周知,flutter中获取宽高有两种方法(1)MediaQuery.of(context).size.width(2)window.physicalSize.width其实这两种获取宽高的方法其实是一样的,第一种就是获取的第二种,如下图所示size = window.physicalSize / window.devicePixelRatio,window.physicalSize就是物理像素

flutter中经常需要获取很多系统宽高或者某个widget的宽高1:手机屏幕的宽高,注意,系统提供两个方法,一个是MediuQuery.of(context).size.width,一个是window.physicalSize.width,这两个是有区别的,第一个是逻辑宽度,第二个是物理宽度,记住公式(物理宽度=逻辑宽度*密度系数),我们开发里面用的宽高基本上都是逻辑宽高,系统会帮我们自动转换成







