flutter项目连接夜神模拟器的方法: 在夜神模拟器的bin目录下,打开命令面板,执行adb connect 127.0.0.1:62001 命令,显示successfully及连接成功 白屏的解决方案,在项目根目录打开命令面板,
今天在用flutter布局时,打包提示◢◤◢◤◢◤◢◤,如下: Reloaded 1 of 456 libraries in 282ms. I/flutter ( 2286): ◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤◢◤
第一步、生成key 1、在vscode的Terminal(工具底部)输入下面的命令,其中“D:/key.jks”表示将key生成到这里,-alias后面的为别名,后面配置key,会用到。 keytool -genkey -v -keystore D:/key.jks -k
我爱模板网做了一个基于flutter的原生安卓APP,安装到手机后发现无法联网,联网权限忘了配置,按照下面的方法配置,重新打包,即可获取数据。如下: 打开: /android/app/src/main/Androi
虽然flutter可以同时运行在android和ios设备上,但是修改名称、logo、启动页还是需要分开配置的。 修改应用名称 android 在项目下找到android目录,依次 app src main AndroidManifest.xml , 打开 An
我爱模板网在用flutter做app时,需要做下面的效果: 这个左边的icon+文字,肯定要用AppBar的leading写了,再设置个宽度,于是写了下面的代码: class HomePage extends StatelessWidget { const HomePage
我爱模板网在使用flutter的flutter_screenutil插件时,出现下面这个错误: The method '/' was called on null. 这个是因为在初始化flutter_screenutil之前,调用了flutter_screenutil设置宽高导致的,解决办法
我爱模板网在用flutter布局app时,需要作出下面的效果: 以画红框的为例,这明显是Row里面套TextField: class ListItem2 extends StatelessWidget { @override Widget build(BuildContext context) { return Container(
Flutter raisedButton 并没有border属性,只能借助shape的RoundedRecangleBorder来进行添加
Flutter RaisedButton组件详解
修复Flutter输入框光标文字焦点不对齐问题
我们在使用TextField的时候,有时候是通过按钮给它修改值的,比如 这时候就会有一个很坑的问题,你点完按钮输入框的值改变后,焦点会自动移动到最前端,这时候再去输入的话,输入
这是我爱模板网摘抄自简书的一篇对flutter TextFiled文本输入框非常详细的一篇文章
我爱模板网利用showCupertinoModalPopup做了一个类似于js中的prompt效果的弹窗,里面有TextField,热更新时,提示下面的错误: I/flutter (25517): No Material widget found. I/flutter (25517): TextField widgets r
Flutter获取相册中的图片和用相机拍照 在原生开发中,拍照及从图库选择图片是非常常见的需求,而且原生的图片选择第三方库也有很多并且很完善了。 Flutter也给我们提供了好用的图片
Flutter之CircleAvatar组件,圆形和圆角图片
Flutter Column等容器嵌套ListView报错
Flutter RaisedButton可以设置圆角和边框,都在shape中设置,边框和Container等常规的边框设置略有差异:
Flutter圆形图片和圆角图片写法
Flutter 拆分小部件用class类还是方法
flutter Provide状态管理有点类似于Vuex,当从一个页面更改了数据,期望影响其他页面,那么Provide方法是不二之选。这里简单理下我爱模板网在使用flutter时的用法: 1、添加依赖 在 pubspe
flutter ProvideMulti多个状态同时使用
打开vs code后一直显示 Flutter Setup: Running pub upgrade.. Flutter Setup:Building flutter tool... flutter doctor也失败,提示 :Building flutter tool... Running pub upgrade... 系统找不到指定的路径 解决办法: 删除
Flutter upgrade升级一直停留在 Running pub upgrade...,我用的是VPN,也不行。使用 Flutter Setup: Running pub upgrade 这个方法也不行。 最后用国内镜像解决了。方法: 1、计算机-属性-高级系统设置
apicloud、uni-app都有获取状态栏和安全区域的方法,flutter当然也不例外: flutter获取状态栏高度的代码如下: final double statusBarHeight = MediaQuery.of(context).padding.top; 而安全区域,就是适配现在
本文通过Android Studio连接真机调试flutter程序,Vscode如果想真机调试,也能够通过Android studio来实现。 打开 Android Studio,找到 tools-SDK Manager,在打开的SDK Manager界面,选择SDK Tools选项卡,勾
dart笔记4:flutter折叠菜单
flutter上拉刷新下拉加载示例
基于stream流的Flutter StreamBuilder组件
flutter大大简化了isolate的使用方法,通过引入foundation.dart来使用isolate,通过computed来创建isolate。使用起来就像js的worker一样。 isolate不能滥用,只有非常耗时的任务(如图片裁切、数据加
1、下载安卓studio,安装会自动安装安卓SDK,默认路径:c:\users\用户名\AppData\Local\Android\Sdk。如果此目录下没有,则手动下载,并且在安卓studio的File-setting-Appearance Behavior-System Settings-And
我爱模板网在用真机调试时,请求本地接口,发现提示下面的错误: E/flutter ( 9416): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: SocketException: OS Error: Connection refused, errno = 111, addre
flutter Provider.of without passing `listen: false`.
Flutter笔记1:Provider的使用详细笔记如下,其中遇到了一些坑,比如: ChangeNotifierProvider(create: (_)=Counter()) 1、这里的create是新版本的,老版本是build,而教程是老版本 2、这里的listen参数是
Align-对齐组件的常用属性
AppBar就是app的顶部标题栏,但是,不仅仅限于顶部,可以放在其他地方,可定义左侧按钮,中间标题和右侧按钮: class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { retur
本文简单实现了通过BottomAppBar底部应用栏和floatingActionButton实现中间凸起的底部导航栏效果,底部应用栏(导航栏)除了BottomAppBar,还有BottomNavigationBar,这里采用BottomAppBar实现的效果
BottomNavigationBar是设置底部导航栏的wiget,和BottomAppBar很相似,通过BottomNavigationBarType属性,有两种选中样式可选,一种是改变颜色表示选中效果,一种是通过是否显示文字体现出来: c
DecoratedBox装饰盒子,是用来给别的容器进行装饰的widget
FittedBox内容填充模式,就是对内容进行裁切、压缩等,以适应与子容器的大小,有点类似于背景图片的填充
RotatedBox旋转Widget
Flutter的DropdownButton下拉框组件和html的select下拉选择框非常类似
FloatingActionButton可以放在Scaffold的floatingActionButton属性中使用,也可以单独拿出来作为独立的Widget使用,FloatingActionButton还有个扩展的功能,可以做出带文字+图标的效果的按钮: class MyA
Flutter的button有:FloatingActionButton、IconButton、OutLineButton、FlatButton等,它们的很多属性和方法都是一样的,这篇文章是比较常用的FlatButton扁平化按钮,可以用来做图标按钮、普通文字按钮
IconButton图标按钮,属性和方法详解
Flutter按钮之OutlineButton线框按钮,就是边框按钮,其实用其他类型的按钮也能模拟出线框按钮效果。它分为有图标的线框按钮和无图标的线框按钮: class MyApp extends StatelessWidget { @overrid
Flutter笔记14:RaisedButton凸起按钮
前面介绍的按钮都是继承于 MaterialButton,而 MaterialButton都自带了一些样式,MaterialButton又是继承自RawMaterialButton,RawMaterialButton即无默认样式的按钮
ButtonBar末端对齐按钮容器有点类似于CSS3中的flex容器,能够通过alignment对子元素进行排列。ButtonBar主要对按钮进行排列,当然,如果要对其他容器,如Container等进行排列,也可以 class M
Card组件+ButtonBar实现购物车效果
flutter CheckBox复选框案例
CheckBoxListTitle复选框实现全选全不选
Chip组件非常强大,包括普通的Chip、ActionChiop、FilterChip、ChoiceChip,普通的Chip相当于tags标签,而且,这个标签还可以设置头像、图标,还有删除回调,而ActionChip则相当于可点击的Chip,
Flutter的showDatePicker和showTimePicker方法,可以调用原生的日期选择框和时间选择框,两个方法都是Future方法,因为选择的结果需要等待选择完毕才能得到
Dialog是普通弹窗组件,可定制性非常高,子元素可以放任何内容,按钮可以任意自定义。Dialog仅仅是一个弹窗。其实Dialog完全可以实现下面三种Dialog,只不过需要布局,比较麻烦。 Ab
Expanded和Flexible组件都是填充组件,都是配合Row或Column或Flex组件使用,决定剩下的空间如何分配,Expanded会将剩下的空间填充完,但Flexible不会
FlexibleSpaceBar可折叠的应用栏,必须在SliverAppBar的flexibleSpace属性中实现,单独使用没有意义,具体表现效果为上拉的时候,FlexibleSpaceBar会自动折叠,仅显示标题,以便于查看NestedScrollV
GridView、GridTile、GridPaper组件案例,GridTile、GridPaper不一定要放在GridView里面,这里只是为了好看。 GridView网格布局,GridTile为带标题、内容和底部的组件,而GridPaper和GridTile很像,只不过
Grid网格组件创建的方法一共有四种之多,每种都有自己的特色,有的是设置一行列数,有的是根据单个元素的宽度和一行的总宽度来决定一行显示几个,下面是四种主要的创建方式,前
Flutter图标、图片图标ImageIcon和IconButton图标按钮详解
Flutter的IconData可以自定义字体图标,Flutter的Icons自带的字体图标其实就是封装的IconData。
IconTheme图标主题通过data属性的IconThemeData可以对图标进行更加强大的设置,可以在顶层就定义好,这样整个项目的Icon颜色、透明度等风格都能同一,这里进行简单的使用示例
在assets目录,放不同分辨率的图片,如1.jpg、2.0x/1.jpg、3.0x/1.jpg,在pubspec.yaml中引入此图片
DecorationImage装饰图片主要配合BoxDecoraion使用,相当于给容器加背景
ImageFile本地资源图片,和AssetImage不同,前者是显示手机中存储的图片,而后者是显示app内的图片,需要在pubspec.yaml中设置图片路径
概览 图片常用的格式主要有bmp,jpg,png,gif,webp等。图片也是一种二进制文件,每种格式的图片都由固定的头信息和真实数据块组成。图片原始数据每个像素在内存中的占用一般从2byte-4by
Flutter 之网络请求Dio, FormData, 表单网络请求, x-www-form-urlencoded
Flutter Column和Row水平垂直布局组件,属性方法都一样,只不过把主轴和交叉轴进行了交换
Container和html的div非常想,是非常常用的组件,Container如果不设置宽高,默认占满父组件,这和css的div不一样
ListBody常常配合Row实现宽度不同的水平排列,或者配合Column实现高度不通的垂直排列,还可以根据自身的reverse属性实现列表内容的正序或倒叙排列。也可以和ListView配合使用
Flutter通过ListView的controller属性配合ScrollController实现上拉加载,通过RefreshIndicator的onRefresh方法,实现下拉刷新。
ListView滚动列表组件在开发中非常常用,在诸如商品列表、会员列表等涉及到滚动的都需要使用ListView,这里详细记录了ListView的四种构造方法,同时,顺便详细记录了ListTile的属性方法
Flutter的app风格主要有两种:Material和Cupertino。这里记录下Material的主要常用属性: title:任务管理窗口中显示的名称 theme:应用各种UI所使用的主题颜色 color:应用的主要颜色值(primary colo
CheckedPopupMenuItem可勾选的弹出菜单,常常与PopupMenuButton,作为PopupMenuButton构造方法的元素
DropdownButton相当于html的select下拉框,注意它与PopupMenuButton的区别。下面是代码演示:
PageView滚动组件,支持左右滚动和上下滚动,滚动回调等,一个最简单的页面滚动组件
Flutter ProgressIndicator进度条组件主要两种:圆形进度条CircularProgressIndicator和LinearProgressIndicator
Flutter的Radio单选组件非常简单
RadioListTile组件,相当与强化了radio组件,显示的内容更多,当然,用radio也能实现RadioListTile的效果,但是比较麻烦
Scaffold组件非常重要,决定了整个页面的风格,里面包含了很多属性,如body放置正文主体,drawer侧边弹出抽屉、bottomNavigationBar底部导航栏等等
Slider滑块组件就是按住拖动功能的组件,如音乐播放器的音量调节等
Slider滑块组件本身能够满足一些简单的样式需求,但是如果想进行更多的自定义设置,就可以用到SliderTheme滑块主题组件了,SliderTheme必须将Slider包裹起来,才能对Slider进行更深层次的定
SliverAppBar相比与AppBar,可以滚动,还可以展开和折叠,它和AppBar都继承于StatefulWidget,需要和NestedScrollView结合使用
SnackBar底部弹出消息组件,可以设置消息内容、操作按钮,关闭SnackBar等
AnimatedPadding组件,顾名思义:带动画的padding
Padding组件,Flutter一切皆组件,padding在html中是填充,即边距,是属性,但在Flutter,它即是一些组件的属性,如Container的padding属性,又可以拿出来,单独作为Padding组件
IndexedStack索引层叠组件,Index-索引,Stack-层叠,有索引的层叠组件,根据索引,显示它的子元素,不管多少个子元素,只显示指定的哪个。
Stack层叠组件,层叠顺序:后面的元素覆盖前面的元素
AnimatedSwitcher设置文字或形状发生变化时的动画效果,这里以数字加加为效果,当然如Container的宽高变化都可以用这种方法来实现过渡效果
Switch开关组件比较常用,定义方法也比较简单,在使用inactiveThumbImage和activeThumbImage作为背景图片时,最好是通过ps处理的比较小的圆图
SwitchListTile是Switch开关组件的增强版,带了标题等功能,基础实行和Switch一样:
TabBar选项卡组件
Flutter的Table表格组件也非常常用,主要用columnWidths来设置列,TableRow来显示行内容,可以放置任何内容
RichText富文本组件,当文字段落样式比较复杂时,可以用RichText拆分,进行修饰
Text文本组件,非常常用的组件,在很多组件中,如果有属性为文字时,一般都需要用到Text组件,如AppBar的title属性的值等,但是像MaterialApp的title,它的属性值就是纯文字。
TextField文本输入框组件就是html里面的input输入框,可以用来获取用户的输入内容。
Fluter路由Route导航Navigator最基本的使用:push进入某个页面(入栈)、pop关闭本页面(出栈)
利用两个页面构造函数接受参数实现最简单的路由传参
简单的页面关闭并返回数据给上一页的效果,在打开一个页面时,用异步的方法等待接收这个路由打开的方法的结果,这个结果将在下一个页面关闭时得到
这里是根据教程来的,Flutter Fluro路由组件的简单使用
Flutter本地存储比较常用的插件shared_preferences,它其实就是对IOS的NSUserDefaults和安卓的SharedPreferences的分别实现
path_provider文件操作模块主要提供了下面三个方法: getTemporaryDirectory:获取临时目录 getApplicationDocumentsDirectory:获取应用文档目录 getExternalStorageDirectory:获取外部存储目录,注意:I
Flutter动画相关类: Animation:Flutter中动画的核心类,是个抽象类(abstract),通过Listeners和StatusListeners可以进行监听。 AnimationController:动画管理类,AnimationController继承自Animation,是特殊
用CurvedAnimation做缓动动画效果,用AnimatedBuilder是一个中间件,将Animation和Widget关联起来。 main.dart: import 'package:flutter/material.dart';import 'easing.dart';void main(){ runApp(MyApp());}class MyApp extends
通过BorderRadiusTween和Tween共用一个AnimationController,即叠加多个动画,实现类似遮罩的效果,Tween动画负责宽高,BorderRadiusTween负责边框圆角动画
数字变化的补间动画IntTween,可以给数字变化加上补间动画
AnimatedContainer和AnimatedSwitcher组件差不多,都是动画容器。使用这种动画容器非常方便,无需定义AnimationController、Tween等
AnimatedOpacity和 AnimatedContainer 以及 AnimatedSwitcher 组件差不多,都是动画容器。使用这种动画容器非常方便,无需定义AnimationController、Tween等。 import 'package:flutter/material.dart';class OpacityAnim
一、Hero Widget 在某些场景下我们可能需要通过图片进行页面的转场,这种场景在大众点评等APP上非常常见,Feed 流中有图片,点击之后,通过图片进行页面的转场 进行转场,就需要两个
Flutter的DefaultTextStyle组件用于给子Text加样式,所有隶属于它的子元素的Text都会应用这种样式。如果Text组件指定了自己的样式,则使用自己的样式,否则就继承DefaultTextStyle的样式。
app中的底部tab栏通常用Scaffold.bottomNavigationBar的BottomNavigationBar和BottomNavigationBarItem配合来实现。但是如果像实现更复杂的效果,如底部tabbar中间凸出按钮效果,类似于咸鱼,就需要使用到
Flutter页面适配插件 flutter_ScreenUtil 3.0 版本和之前的老版本初始化不一样,之前的老版本初始化如下: ScreenUtil.init(context, width: 750, height: 1334, allowFontScaling: false); 新版本采用了 designSize 来
Flutter Timer定时器的应用场景很广,在诸如启动时的广告倒计时、弹框倒计时、获取验证码等等都会用到。 两种场景: 执行一次,相当于setTimeout 执行多次,相当于setInterval 这时,就需要
本文起因是由于一个弹窗,要实现一个能够通过点击显示隐藏的功能,效果如下: 第一选择是采用原生的PopupMenuItem,但是本应用的需求比较特殊,弹出的item自带背景图片,并且图片上
手机状态栏,即手机顶部显示电池、网络、时间、信号等的位置,沉浸式状态下,状态栏的背景可能是深色,也可能是浅色,这时如果状态栏里面的内容文字也是和背景一样黑色或白色
我爱模板网要设置如下的效果: 从图中可以看出,有个圆弧图片在文字底部,实现方法无非两种: Stack与Positioned 结合定位实现以及背景图片 DecorationImage 来实现。这里用背景图片更加合
Flutter的ListView或Column或Row嵌套ListView,往往会报下面的错误: RenderBox was not laid out: RenderFlex..... 这是因为ListView或Column或Row嵌套ListView,会有问题,解决办法如下: 一、ListView嵌套ListVie
先看下用三种方式分别实现Flutter图片圆角的效果图: 下面分别记录下这三种方式: 1、使用ClipRRect裁切,简单高效,直接使用: ClipRRect( borderRadius: BorderRadius.circular(20), child: Image.asset(
在Flutter中,提供了不少裁剪组件,可以帮助我们实现不同形状的组件,当然,如果需要特殊的形状,那就需要自定义裁剪组件了。 ClipRect - 矩形裁剪 ClipRect组件使用矩形裁剪子组件。通
Flutter报错:Cannot provide both a color and a decoration
Flutter报错:A borderRadius can only be given for uniform borders.
本文通过一个案例,展示了Flutter通过bottomNavigationBar和DefaultTabController组件实现底部tab栏和顶部tab栏的实现
Flutter的TabBar选项卡一般位于AppBar下方,通常和TabBarView、TabController一起使用: TabBar:Tab页的选项组件,默认为水平排列: 属性名 类型 说明 isScrollable bool 是否可以水平移动 tabs ListWidg
在我们实际的项目开发中,经常会遇到页面UI内容过多,导致手机一屏展示不完的情况出现,以Android为例,在Android中遇到这类情况的做法通常就是使用ScrollView将内容包裹起来,如果不做
我爱模板网在用flutter开发一个app时,报了下面的错误: D:\flutter\bin\flutter.bat --no-color packages get Error detected in pubspec.yaml: Error on line 49, column 4: Expected a key while parsing a block mapping. ╷ 49 │
flutter如果TextField获得焦点,默认点击空白的地方,是不会收回键盘的,而且也不会失去焦点。下面的方法通过给body加触摸事件隐藏键盘,实现了点击空白处隐藏键盘并让输入框失去焦点
FractionallySizedBox组件常用来设置子元素占用父元素的宽度
最近在学习开发Flutter应用项目,在创建tabbar和tabview后,进行网络请求后显示顶部tab标签,设置TabController,并使class类实现SingleTickerProviderStateMixin,代码如下: class _TravelPageState extends St
我爱模板网之前分享过通过css和js控制html文字溢出隐藏显示...的方法: css多行文字超出显示点点点...-webkit-line-clamp详解 js控制多行文字超出显示点点点“...” 文字超出一行或者指定行数
下面是android studio开发flutter快捷键的一些总结,非常实用,掌握后能明显提高编码速度和编码质量: 1、快速创建widget:在dart文件中输入stf或stl出现提示后按回车即可 2、快速修复:op