Flutter 开发遇到问题

持续更新。。。


1 添加依赖后运行提示 MissingPluginException(No implementation found for method * on channel *)

  1. 确认运行过Packages get
  2. 执行flutter clean(相当于删除build文件夹);
  3. 点击Stop关闭应用
  4. 点击Run运行应用

2 AutomaticKeepAliveClientMixin Keep不到问题

在多tab+tabView界面,来回切换时候会报错,这里有详细说明,不知道dart最新版本修复了没,有大佬提供的解决方案是用Tabbar + PageView解决,并且提供了demo,可以从上面链接中查看,但是在使用过程中还是会重绘最后找到是因为少了一句代码,在需要keep的widgetbuild下添加super.build(context);

@override
  Widget build(BuildContext context) {
    super.build(context);

再详细解释看这里

也就是keep的详细步骤是

  1. 使用TabBar+PageView使用方法
  2. 子页在extends State后还要with AutomaticKeepAliveClientMixin
  3. 子页的build方法下添加super.build(context);
    在一切都添加完成后,发现还是会一直调用initState()以为没起到作用,后来发现虽然调用了initState()方法,也重新调用了build()方法,但是界面不会发生改变,除去效率不说总算是实现了效果,希望后期有更好的解决办法,这里还去下载了GarGuo的GitHubFlutterApp源码去打印log发现在切换tab时同样会重新调用initState以及build

3 SingleChildScrollView里面嵌套ColumnListView时候,ListView不显示或者滑动冲突

  1. 禁用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 可能你选择错了。。。应该选择箭头指向那个来运行

Flutter 开发遇到问题_第1张图片

 

你可能感兴趣的:(Flutter开发)