flutter技巧
Row里面使用ListView时,页面不显示的原因是
没有空间撑开
ListView的外层要加上Expanded
只能在Column,Row,Flex以及它们的子组件,这里指的是子组件而不是子结点,是指继承Column,Row,Flex的子组件。
Expanded的父结点必须是Column,Row,Flex以及它们的子组件,不能是Column->Container->Expanded(表示结点路径)
在使用Expanded时,如果在它的上层结点中有List类型的结点,比如SingleChildScrollView,或者ListTile等,
其滑动方向应该与Expanded填充方向不同,不然会报错。
Expanded作用是,填充剩余空间。
flutter切换
git branch --查看所有分支
git checkout 分支名 --切换到分支
git checkout -b 分支名 -- 在此分支上创建新分支
flutter channel 分支名 --切换到分支
flutter channel stable -- 切换到当前分支
flutter upgrade -- 升级软件包
使用一: 先试用git checkout 切换到flutter的某个版本分支
再使用 flutter channel stable切换当前环境的flutter到某个分支
使用二: flutter version --列出所有版本号
flutter version 版本号 --切换到某个版本号
flutter问题:
1、flutter出现`git: fatal: unable to access 'github.com/flutter/flu…': OpenSSL SSL_connect: SSL_ERROR_SYSCALL in connection to github.com:443
Switching channels failed with error code 128.`
可以使用 git config --global http.sslVerify false 忽略证书
2、出现:Failed to connect to github.com port 443: Connection refused
方法一:关闭代理
git config --global --unset http.proxy
git config --global --unset https.proxy
添加全局代理:
git config --global http.proxy
git config --global https.proxy
'${Routes.bulletinBoardPage}?readFlag=' + readFlag)
3、Another exception was thrown: There should be exactly one item with [DropdownButton]'s value:
原因:DropdownButton中value的值和DropdownMenuItem中value的值都不相同,无法显示选中状态
解决:修改DropdownButton中value的值和DropdownMenuItem中value的值有一个相同的值
缓存的使用
import 'package:localstorage/localstorage.dart';
final LocalStorage storage = new LocalStorage('organ_type');
storage.setItem('todos', list.toJSONEncodable());
storage.getItem('todos') ?? [];
Row
mainAxisAlignment: MainAxisAlignment.spaceBetween, --水平两边分布,此属性只在Row里生效
Column
crossAxisAlignment: CrossAxisAlignment.spaceBetween,, --垂直两端分布,此属性只在Column里生效
flutter打包
// keytool -genkey -v -keystore ~/key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
D:\Program\Android\'Android Studio'\jre\bin\keytool -genkey -v -keystore D:\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
D:\software\Android\jre\bin\keytool -genkey -v -keystore D:\myprojects\company_project\feature\key.jks -keyalg RSA -keysize 2048 -validity 10000 -alias key
flutter build apk
如何获取软件系统信息
import 'package:package_info/package_info.dart';
PackageInfo.fromPlatform().then((PackageInfo packageInfo) {
String appName = packageInfo.appName;
String packageName = packageInfo.packageName;
String version = packageInfo.version;
String buildNumber = packageInfo.buildNumber;
});
自定义颜色
color:Color(0xFFF3F5FB),
color: Color.fromARGB(255, 24, 34, 34)),
color:Color.blue
Icon(Icons.audiotrack, color: Colors.green, size: 30.0,),
转载自:https://juejin.cn/post/7157708894276419620