好看哒底部导航
https://github.com/gskinnerTeam/flutter_vignettes/tree/master/vignettes/fluid_nav_bar
https://github.com/gskinnerTeam/flutter_vignettes/tree/master/vignettes/bubble_tab_bar
https://github.com/tunitowen/fancy_bottom_navigation
一切皆有小小组合。用 flutter 开发一个完整的 app,所需要的设计的方方面面这里总结一下。
android studio 编译 android 端,卡在 Running Gradle task ‘assembleDebug’… 这里了
android studio 编译 android 端,卡在 Running Gradle task 'assembleDebug'... 这里了 。卡在这里,卡了好久,总是不好,怎么办呢,使用网上的方法,注释加修改镜像的方法也没好。路似乎到头了。可终结还是要解决问题。弄了这么多,还不是要 gradle 。弄好 gradle 不就可以了么。
知乎上关于 gradle 的说法:
https://www.zhihu.com/question/30432152
其实,修改镜像是可以完全解决的。这里是另外一条路。
gradle 资源:https://services.gradle.org/distributions/
目前,更新到 6.8.3 版本。那么,我们就手动将这个下下来。
继续阅读
任何一款 app 都必须有名字,icon 以及启动页。本来这些是在交付前完成就好,因为有默认的,现在第一步来弄这个。也就是从零创建一个 flutter 程序后,就开始配置这些。
在 app store 中找搜 app icon, 找到 图标构建-更快打导出图标组。该工具好用好免费。
打开 app 后,拖动你之前已经做好的 png 图片到 app 中。选择要生成的平台。这里选择 ios 和 androis,然后稍微设置下,点击导出。就帮你全自动生好了。
文件结构如下:
继续阅读
在 ios 14+,flutter debug app 只能从工具里启动运行。一旦脱离。点击 app 就会闪退。这个时候,打 release 包就很有必要了。虽然这个包有效期是 7 天,也是好的。当然,有开发者证书更好。
原话
In iOS 14+, debug mode Flutter apps can only be launched from Flutter tooling, IDEs with Flutter plugins
or from Xcode.
Alternatively, build in profile or release modes to enable launching from the home screen.
flutter run --release
或
flutter build ios
flutter install
Flutter plugin not installed; this adds Flutter specific functionality. 问题处理
明明我就安装了 flutter 和 dart 插件,可偏偏检查说没有。咋回事呢。这个是 android studio 4.1 改变了 plugin folder 的路径。下边解决吧。
flutter doctor 结果:
❯ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 1.22.5, on macOS 11.2.1 20D74 darwin-x64, locale
zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 12.4)
[!] Android Studio (version 4.1)
✗ Flutter plugin not installed; this adds Flutter specific functionality.
✗ Dart plugin not installed; this adds Dart specific functionality.
[✓] VS Code
[!] Connected device
! No devices available
! Doctor found issues in 2 categories.
mac
# 加个软链(你可以 cd 进去看看的)
ln -s ~/Library/Application\ Support/Google/AndroidStudio4.1/plugins ~/Library/Application\ Support/AndroidStudio4.1
win
win 直接升级 flutter 版本就可以了。
写 flutter 越多,遇到的场景和用到组件就越多。这样,就有机会采坑。遇到的情况先记录下。
container 中 套 container。不仅是 container,比如 image 这些都会使得内部的元素的宽高都会是它明确父级的宽高。也就是即使你内部设置了宽高也会被强制到和明确父对象一样的宽高。 可以用 Column 和 Row 打破这个僵局。
https://zhuanlan.zhihu.com/p/41801871
TextField 的默认高度和显示文本的差异。这个不算坑,是对 api不太了解。设定 isCollapsed 为 true ,就可以解决莫名的高度了。
画虚线矩形。这个不是坑,这个是原生没有。https://blog.csdn.net/xfnbing/article/details/107209410
ios 下webview_flutter_plus 配置 html 渲染。
https://blog.csdn.net/xudailong_blog/article/details/108324984
https://pub.flutter-io.cn/packages/webview_flutter_plus#ios
两个都需要配置。
mac 下,编译ios时遇到 error: compiling for iOS 8.0, but module 'SwiftProtobuf' has a minimum 问题处理。
https://blog.csdn.net/boildoctor/article/details/111192691
webview 的时候,状态栏高度处理。下边这种方式虽然不完美,却也是一个很快速实用的方法。
Scaffold(
appBar: PreferredSize(
preferredSize: Size.fromHeight(1),
child: Container(
color: Colors.white,
),
),
body: webView()
)
List list = ['huo', 'are', 'you'];
list.asMap().forEach((index, item) => {
});
flutter 设置 RaisedButton 的宽高
http://findsrc.com/flutter/detail/8763
按钮总结
https://blog.csdn.net/yuzhiqiang_1993/article/details/85004313
textfield 总结
https://blog.csdn.net/yechaoa/article/details/90906689
搭建好了环境,就是开发项目了。对于前端项目,用户比较关心的是路由,渲染,以及数据。路由可以缓一缓,数据也可以缓一缓。渲染肯定要先出来。渲染太底层的,也不用关心。那就直接关心渲染的上层布局。好吧,就布局。