前言
最近Flutter一直比较火,我也它也是非常感兴趣,看了下官网的基础教程后我决定直接上手做一个App,一是这样学的比较快印象更加深刻,二是可以记录其中遇到的一些坑,帮助大家少走一些弯路.本篇文章我会尽可能详细的讲到每一个点上.
项目地址
Github,如果觉得不错,欢迎Star
下载项目后报错是因为没有添加依赖,在pubspec.yaml文件中点击Packages get下载依赖,有时候会在这里出现卡死的情况,可以配置一下环境变量,详情请看修改Flutter环境变量.
注意事项
1.下载项目后报错是因为没有添加依赖,在pubspec.yaml文件中点击Packages get下载依赖,有时候会在这里出现卡死的情况,可以配置一下环境变量.在终端执行
vi ~/.bash_profile
,再添加export PUB_HOSTED_URL=https://pub.flutter-io.cn
和export FLUTTER_STORAGE_BASE_URL=https://storage.flutter-io.cn
.详情请看修改Flutter环境变量.
2.需要将File Encodings里的
Project Encoding设置为UTF-8
,否则有时候安卓会报错
3.如果cocoapods不是最新可能会出现
Error Running Pod Install
,请更新cocoapods.
4.由于flutter_webview_plugin这个插件只支持加载url,于是就
《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》
【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享
需要做一些修改.
- iOS 在
FlutterWebviewPlugin.m
文件中的- (void)navigate:(FlutterMethodCall*)call
方法中的最后一排,将[self.webview loadRequest:request]
方法改为[self.webview loadHTMLString:url baseURL:nil]
- Android 在
WebViewManager.java
文件中webView.loadUrl(url)
方法改为webView.loadData(url, "text/html", "UTF-8")
,以及下面那排的void reloadUrl(String url) { webView.loadUrl(url); }
改为void reloadUrl(String url) { webView.loadData(url, "text/html", "UTF-8"); }
先看看效果图吧.
- iOS效果图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OQPR7D10-1638081721018)(https://user-gold-cdn.xitu.io/2019/1/6/168232d8dcf65374?imageslim)]
- Android效果图
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MCyHZdtt-1638081721047)(https://user-gold-cdn.xitu.io/2019/1/6/168232d8dc8a0700?imageslim)]
正题
怎么搭建Flutter环境我就不多说了,官网上讲的很详细,还没有搭建开发环境的可以看看这个Flutter中文网.
1导航栏Tabbar
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MZcwPbFR-1638081721048)(https://user-g