持续更新。。
1 添加依赖后运行提示 MissingPluginException(No implementation found for method * on channel *)
- 确认运行过
Packages get
- 执行
flutter clean
(相当于删除build文件夹
); - 点击
Stop
关闭应用 - 点击
Run
运行应用
2 AutomaticKeepAliveClientMixin
Keep不到问题
在多tab
+tabView
界面,来回切换时候会报错,这里有详细说明,不知道dart最新版本修复了没,有大佬提供的解决方案是用Tabbar + PageView
解决,并且提供了demo,可以从上面链接中查看,但是在使用过程中还是会重绘最后找到是因为少了一句代码,在需要keep的widget
的build
下添加super.build(context);
@override
Widget build(BuildContext context) {
super.build(context);
也就是keep的详细步骤是
- 使用
TabBar
+PageView
使用方法 - 子页在
extends State
后还要with AutomaticKeepAliveClientMixin<T>
- 子页的
build
方法下添加super.build(context);
在一切都添加完成后,发现还是会一直调用initState()
以为没起到作用,后来发现虽然调用了initState()
方法,也重新调用了build()
方法,但是界面不会发生改变,除去效率不说总算是实现了效果,希望后期有更好的解决办法,这里还去下载了GarGuo的GitHubFlutterApp源码去打印log发现在切换tab时同样会重新调用initState
以及build
。
3 SingleChildScrollView
里面嵌套Column
和ListView
时候,ListView
不显示或者滑动冲突
- 禁用
ListView
的滑动
physics: NeverScrollableScrollPhysics() (不加的话会导致当触点在listview时候滑动无效果)
2.设置ListView
属性 shrinkWrap: true
child 高度会适配 item填充的内容的高度,我们非常的不希望child的高度固定,因为这样的话,如果里面的内容超出就会造成布局的溢出。
shrinkWrap多用于嵌套listView中 内容大小不确定 比如 垂直布局中 先后放入文字 listView (需要Expend包裹否则无法显示无穷大高度 但是需要确定listview高度 shrinkWrap使用内容适配不会有这样的影响)原文
4 项目报错
lib/main.dart:1: Warning: Interpreting this as package URI, 'package:flutter_app/main.dart'.
file:///E:/flutter/packages/flutter/lib/src/material/animated_icons.dart:9:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui show Paint, Path, Canvas;
这里有2个main.dart
可能你选择错了。。。应该选择箭头指向那个来运行