flutter_in_action_2nd
flutter_in_action_2nd copied to clipboard
《Flutter实战 第二版》 书稿
typedef bool CALLBACK(); //不指定返回类型,此时默认为dynamic,不是bool isNoble(int atomicNumber) { return _nobleGases[atomicNumber] != null; } void test(CALLBACK cb){ print(cb()); } //报错,isNoble不是bool类型 test(isNoble); isNoble同时也不满住typedef定义的无参数
1.4.2.1 Dart函数声明如果没有显式声明返回值类型时会默认当做dynamic处理,注意,函数返回值没有类型推断 》》实际我敲代码,如果没有显示声明返回值类型,是不会当做dynamic处理,都有正确的类型推断。 ```dart class Test {} main() { print(getTest1().runtimeType); print(getTest2().runtimeType); print(getTest().runtimeType); } getTest1() { return 123; } getTest2() { return "hello"; } getTest() { return new Test(); } ```...
我微信在支付页面显示“Due to risk control requirements, the user's payment QR code is not supported." 作者或许可以考虑使用其他收款方式?
crossAxisAlignment: CrossAxisAlignment.center, 因该改为mainAxisAlignment: MainAxisAlignment.center,
应该修改为可空类型 书中代码:  源码参考: 
我们将FractionalOffset(0.2, 0.6)带入坐标转换公式得FlutterLogo实际偏移为(12,36),和实际运行效果吻合。 在 120x120 的容器里,子组件左上角的偏移量应该是 (24, 72)
 上方代码 `maxChunk` 变量定义是 `const maxChunk` ,如果需要的分块数小于 `maxChunk` ,会导致生成空的临时文件,且合并分块的时候以 `chunk` 为单位,遗留的空临时文件不会删除。 应改为下图所示 
6.4 滚动监听及控制 6.4.1 ScrollController 2. 实例 ``` @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar(title: Text("滚动控制")), body: Scrollbar( child: ListView.builder( itemCount: 100, itemExtent: 50.0, //列表项高度固定时,显式指定高度是一个好习惯(性能消耗小) controller: _controller, itemBuilder: (context,...
