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


相关文章
|
3月前
|
测试技术 调度 Android开发
Flutter系列:关于ensureInitialized()
Flutter系列:关于ensureInitialized()
80 5
|
6月前
|
Dart Android开发 开发者
使用Flutter
使用Flutter
40 0
|
6月前
Flutter 之 Stepper
Flutter 之 Stepper Stepper 组件在移动端应用中经常被使用,它可以让用户通过一系列步骤来完成一个复杂的操作。Flutter 中的 Stepper 组件提供了一个简单的方式来实现这个功能。
|
6月前
Flutter中的OverflowBox、SizedOverflowBox,详细介绍
Flutter中的OverflowBox、SizedOverflowBox,详细介绍 在Flutter中,当一个widget的大小超出了其父widget的大小时,通常会发生溢出现象。为了解决这个问题,Flutter提供了两个widget:OverflowBox和SizedOverflowBox。
225 0
|
Dart 开发工具 Android开发
Flutter
Flutter 是 Google 开发的一款开源 UI 工具包,它可以帮助开发者使用一套代码库快速构建美观且高性能的 Android 和 iOS 应用程序。Flutter 具有热重载(Hot Reload)和快速应用程序开发(Rapid Application Development)的特点,使得开发过程更加高效。
155 6
flutter系列之:使用SliverList和SliverGird
在上一篇文章我们讲解SliverAppBar的时候有提到过,Sliver的组件一般都用在CustomScrollView中。除了SliverAppBar之外,我们还可以为CustomScrollView添加List或者Grid来实现更加复杂的组合效果。 今天要向大家介绍的就是SliverList和SliverGird。
flutter系列之:使用SliverList和SliverGird
使用 Flutter LinearGradient
使用 Flutter LinearGradient
450 0
使用 Flutter LinearGradient