flutter技巧

简介: 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打包


打包配置见  www.jspang.com/article/44#…


// 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,),


目录
打赏
0
0
0
0
1
分享
相关文章
使用 Flutter Navigator2.0 最舒服的姿势
使用 Flutter Navigator2.0 最舒服的姿势
343 0
Flutter 40: 日常问题小结 (一)
0 基础学习 Flutter,第四十节:日常小问题汇总~
1551 0
Flutter 之 SliverAppBar
Flutter 之 SliverAppBar
392 0
flutter系列之:使用SliverList和SliverGird
在上一篇文章我们讲解SliverAppBar的时候有提到过,Sliver的组件一般都用在CustomScrollView中。除了SliverAppBar之外,我们还可以为CustomScrollView添加List或者Grid来实现更加复杂的组合效果。 今天要向大家介绍的就是SliverList和SliverGird。
flutter系列之:使用SliverList和SliverGird
ICBU Flutter探索之路
ICBU建设Flutter的核心目标是保障Flutter的性能和质量,进一步提升提效效果,进一步扩大提效范围。本次分享将由ICBU Flutter架构师路少德为大家详细介绍ICBU在Flutter实践中的思考和沉淀。整体分为两部分,第一部分通过业务背景和技术原理推导出接入Flutter的必要性和待解决的问题。第二部分以接入工作中的混合工程和混合栈为重点进行技术上的阐述。
1458 0
ICBU Flutter探索之路
Flutter之PopupMenuButton
Flutter之PopupMenuButton
336 0
Flutter系列:关于ensureInitialized()
Flutter系列:关于ensureInitialized()
148 5
Flutter MergeableMaterialItem
简介 MaterialSlice 和 MaterialGap的基本类型 所有的MergeableMaterialItem对象都需要LocalKey 基础用法 MaterialSlice进行演示 MaterialSlice做为 MergeableMaterial子类。
1426 0

热门文章

最新文章