在开发中经常要用到第三方库,而 Flutter 开发经常用的第三方库可以在pub.dev中寻找。
使用方法:
在库存中寻找想要的包
在项目的 pubspec.yaml 中添加依赖
flutter pub get
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071724. 有的时候添加依赖后保存了,就自动下载了。用不到上述命令。### diodio,跟 Axois 差不多的东西。### card_swiper做轮播图的。```dartclass MyPage extends StatelessWidget { MyPage({Key? key}) : super(key: key); final List<String> pics=[ "images/Alice.jpg", &quo ...
SingleChildScrollView
child
padding
scrollDirection :滚动方向,水平(Axis.horizontal)或垂直(Axis.vertical)
reverse :是否翻转,默认第一个组件作为滚动视图的起点
physics
ClampingScrollPhysics :安卓的微光效果
BouncingScrollPhysics :ios的弹性效果
代码区
123456789101112131415161718192021class MyPage extends StatelessWidget { const MyPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Stack( children: [ SingleChildScrollView( physics: const BouncingScrollPh ...
本地图片
Image.asset()
Flutter项目目录下创建存储目录,比如images
在 pubspec.yaml 中按照注释进行规范配置
在代码中引用
网络图片
Image.network
普通按钮(共同的属性见代码区)
TextButton(文本按钮)
ElevatedButton(凸起按钮)
OutlinedButton(轮廓按钮)
图标按钮
IconButton
tooltip:长按提示
TextButton.icon()
ElevatedButton.icon()
OutlinedButton.icon()
按钮组
ButtonBar
浮动按钮
FloatingActionButton:要放在scaffold中,与appbar和body同级
回退按钮
BackButton
关闭按钮
CloseButton
代码区
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105 ...
效果图
代码实现
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143class MyPage extends StatelessWidget { MyPage({Key? key}) : super(key: key); Widget titleSection = Container(//自定义组件,标题部分,即头部部分 padding: const Edg ...
效果图
代码实现
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109class MyPage extends StatelessWidget { MyPage({Key? key}) : super(key: key); Widget titleSection = Container(//自定义组件,标题部分,即头部部分 padding: const EdgeInsets.all(32), child: Row(//一行 children: [//三列 Expanded(//第一列,标题和副标题 child: ...
代码实现
一切参数内容由抓包获得。
12345678910111213141516171819202122232425262728293031323334353637383940414243import requests# 1. 三大校园网登录地址url = 'http://10.170.1.2:9090/zportal/login/do'# 2. 三大校园网是表单提交data = { #校园网账号 "username": 'xxxxxxxxxx', #密码 "pwd": 'xxxxxx', "validCode": "验证码", "validCodeFlag": "false", # "ssid": "c24e36c874328833576d4435928a84c5", # "mac": ...
Widget—Card
child 子组件
color 背景色
shadowColor 阴影色
elevation 阴影高度
shape 边框样式(可以用RoundedRectangleBorder来设置,意为圆角矩形边框)
margin 外边距
Widget—ListTile
leading 头部组件
title 标题
subtitle 副标题
代码区
1234567891011121314151617181920212223242526272829303132333435363738394041class MyPage extends StatelessWidget { const MyPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Column( children: [ Card( margin: const EdgeInsets.all( ...
Widget—Stack
Stack(层叠组件,类似css中的z-index)
alignment(声明未定位的子组件的对齐方式)
textDirection(声明未定位的子组件的排列顺序)
未定位组件也会进行重叠
Stack的最小容器大小会包含所有的未定位组件的容器大小。若是stack外层容器没有设置大小,则容器大小为最小容器大小
若是外层容器有设置大小,则stack大小为外层容器大小(蓝色为外层容器大小,红色为未定位容器大小)
如果未定位组件不设置容器大小,外层容器也不设置大小,则填充整个屏幕(没有红色是因为这次我设了透明)
Positioned(绝对定位组件)
child(声明子组件)
left,top,right,bottom
width,height
NetworkImage(网络图片组件)
NetworkImage(‘图片地址’)
在 AndroidManifest.xml 文件中添加<use-permission android:name="android.permission.INTERNET"/&g ...
Widget—Wrap
Wrap(解决内容溢出):在flutter中,默认不是流式布局,内容溢出不会自动换行,需要使用流式布局来进行自动换行。
spacing(主轴方向子组件之间的间距)
alignment(主轴方向的对齐方式)
runSpacing(纵轴方向子组件的间距)
runAlignment(纵轴方向的对齐方式)
Chip(标签)
CircleAvatar(圆形的“化身”)(圆形头像)
代码区
123456789101112131415161718192021222324252627282930313233class MyPage extends StatelessWidget { const MyPage({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return Column( mainAxisAlignment: MainAxisAlignment.spaceBetween, chi ...