01 2021 档案

摘要:CustomScrollView是使用Sliver组件创建自定义滚动效果的滚动组件。使用场景: ListView和GridView相互嵌套场景,ListView嵌套GridView时,需要给GridView指定高度,但我们希望高度随内容而变化(不指定),ListView和GridView使用同一个滚 阅读全文
posted @ 2021-01-29 18:47 淡然吖 阅读(4987) 评论(1) 推荐(0)
摘要:现如今的手机已经不能提供给应用程序规整的矩形界面了,一些带圆角或者是刘海屏让应用程序的布局更加复杂,甚至是需要单独适配,这对开发者来来太糟糕了。 因此SafeArea控件应用而生,SafeArea通过MediaQuery检测屏幕的尺寸使应用程序的大小与屏幕适配。 创建一个铺满全屏的ListView, 阅读全文
posted @ 2021-01-28 16:31 淡然吖 阅读(1412) 评论(0) 推荐(0)
摘要:1,EasyRefresh实现listview上拉刷新下拉加载,添加头尾布局,以及加载样式 地址:https://pub.flutter-io.cn/packages/flutter_easyrefresh 阅读全文
posted @ 2021-01-28 14:26 淡然吖 阅读(1322) 评论(0) 推荐(0)
摘要:一. Slivers 我们考虑一个这样的布局:一个滑动的视图中包括一个标题视图(HeaderView),一个列表视图(ListView),一个网格视图(GridView)。 我们怎么可以让它们做到统一的滑动效果呢?使用前面的滚动是很难做到的。 Flutter中有一个可以完成这样滚动效果的Widget 阅读全文
posted @ 2021-01-28 14:23 淡然吖 阅读(354) 评论(0) 推荐(0)
摘要:当通过底部tabBar将页面在“首页”和“分类”之间进行切换的时候,每一次进入页面的时候该页面的数据都会重新加载。那么如何让页面保持原来的状态,而不是每次都要重新加载刷新数据呢?有两种方式。 第一种方式:采用IndexdStack IndexdStack和Stack一样,都是层布局控件,可以在一个控 阅读全文
posted @ 2021-01-28 12:14 淡然吖 阅读(1539) 评论(0) 推荐(0)
摘要:使用stack 和Positioned 实现绝对布局 进行位置偏移 Container( alignment: Alignment.center, width: double.infinity, child: Stack( clipBehavior: Clip.none, alignment: Al 阅读全文
posted @ 2021-01-27 17:03 淡然吖 阅读(781) 评论(0) 推荐(0)
摘要:使用最多的图片缓存组建库cached_network_image 地址:cached_network_image 配置: dependencies: cached_network_image: ^2.5.0 使用: Container( width: 38,//图片显示的大小 height: 38, 阅读全文
posted @ 2021-01-26 15:55 淡然吖 阅读(888) 评论(0) 推荐(0)
摘要:flutter中可以通过ButtonTheme为RaisedButton设置最小宽度,示例代码如下: ButtonTheme( minWidth: 200.0,//设置最小宽度 height: 100.0, child: RaisedButton( onPressed: () {}, child: 阅读全文
posted @ 2021-01-26 15:42 淡然吖 阅读(1042) 评论(0) 推荐(0)
摘要:为了方便数据使用,我们将服务器拿到的数据转换为map类型,但是在使用是大量的数据会让使用map时头大,比如每个map都key都需要手动输入,很是麻烦。 本文使用了json_serializable将map数据转换为类类型,创建我们自己的实体类。使用时,将转换的对象(点)属性就可以了,方便许多。 下文 阅读全文
posted @ 2021-01-25 15:19 淡然吖 阅读(2375) 评论(0) 推荐(0)
摘要:_tabbarTitile.map((e){ return Tab( text: e, ); }).toList(), 阅读全文
posted @ 2021-01-24 11:25 淡然吖 阅读(522) 评论(0) 推荐(0)
摘要:先上代码。 Container( color: Colors.blue, constraints: BoxConstraints( minHeight: 10, maxHeight: 20 ), child: TextField( // maxLines: 3, // minLines: 1, // 阅读全文
posted @ 2021-01-23 16:34 淡然吖 阅读(5301) 评论(0) 推荐(0)
摘要:EdgeInsets我们看看EdgeInsets提供的便捷方法: fromLTRB(double left, double top, double right, doublebottom):分别指定四个方向的填充。 all(double value) : 所有方向均使用相同数值的填充。 only({ 阅读全文
posted @ 2021-01-23 14:54 淡然吖 阅读(628) 评论(0) 推荐(0)
摘要:可以看到使用prefixIcon图标就出现间距问题。网上看了很多文章,好像是没有什么好的解决办法,也有可能是太简单了,别人懒的发(哭笑)。 我把我知道的方法写出来吧 decoration: InputDecoration( // isCollapsed: true, prefixIcon: Icon 阅读全文
posted @ 2021-01-23 14:46 淡然吖 阅读(4050) 评论(1) 推荐(1)
摘要:http://laomengit.com/ https://www.kancloud.cn/oldtimeofme/flutter/1199285 阅读全文
posted @ 2021-01-22 19:08 淡然吖 阅读(525) 评论(0) 推荐(0)
摘要:本文使用tabbar实现顶部横向滚动多个菜单。 实现tabbar搜索框功能加功能按钮。 话不多说,上代码! import 'package:flutter/cupertino.dart'; import 'package:flutter/material.dart'; import 'package 阅读全文
posted @ 2021-01-22 19:05 淡然吖 阅读(1930) 评论(0) 推荐(0)
摘要:1. 打开Iconnfont,选择自己想要的图标添加到购物车! 2,在右上角点开购物车选择下载代码。 3. 解压下载的代码压缩包,我们可以看到一个iconfont.ttf 4. 在项目根目录下创建一个fonts,并且把这个图标字体文件放入 5. 在pubspec.yaml中添加fonts配置如下: 阅读全文
posted @ 2021-01-20 18:29 淡然吖 阅读(593) 评论(0) 推荐(0)
摘要:话不多说,上代码 import 'package:flutter/material.dart'; import 'package:flutter_zhihu/pages/tabs/homeTab.dart'; class TabsController extends StatefulWidget { 阅读全文
posted @ 2021-01-20 16:46 淡然吖 阅读(975) 评论(1) 推荐(0)
摘要:MaterialApp({ Key key, this.title = '', // 设备用于为用户识别应用程序的单行描述 this.home, // 应用程序默认路由的小部件,用来定义当前应用打开的时候,所显示的界面 this.color, // 在操作系统界面中应用程序使用的主色。 this.t 阅读全文
posted @ 2021-01-20 14:23 淡然吖 阅读(127) 评论(0) 推荐(0)
摘要:这只是一个记录^-^ 一个用来监听网络状态,判断网络情况的组件。 pub地址:https://pub.flutter-io.cn/packages/connectivity 安装: dependencies: connectivity: ^2.0.2 具体使用点击上面连接即可,非常简单,不详细记录。 阅读全文
posted @ 2021-01-20 10:20 淡然吖 阅读(525) 评论(0) 推荐(0)
摘要:封装网络请求的几个好处:1、便于统一配置请求参数,如header,公共参数,加密规则等2、方便调试,日志打印3、优化代码性能,避免到处滥new对象,构建全局单例4、简化请求步骤,只暴露需要的响应数据,而对错误的响应统一回调5、对接口数据的基类封装,简化解析流程 添加依赖: dependencies: 阅读全文
posted @ 2021-01-20 10:10 淡然吖 阅读(4631) 评论(1) 推荐(0)
摘要:记录一下,在使用异步操作时,将方法当参数传入回调的使用。 static void Get(String path,{data,success,error}){ success('wo shi 数据'); }//success为传入的方法 DioUtil.Get('path',success: (da 阅读全文
posted @ 2021-01-18 18:53 淡然吖 阅读(2585) 评论(0) 推荐(0)
摘要:引入包 import 'dart:convert'; 此包为系统自带。 使用: Map map = {"user":"张三","age":13}; var data = json.encode(map);//将map数据转换为json字符串 String jsonStr = '{"user":"zh 阅读全文
posted @ 2021-01-18 10:36 淡然吖 阅读(4424) 评论(0) 推荐(0)
摘要:Fluro企业级路由 地址:https://pub.flutter-io.cn/packages/fluro 导入: dependencies: fluro: ^1.7.8 $ flutter pub get 创建配置文件: 创建routes.dart,用来注册路由。 import 'package 阅读全文
posted @ 2021-01-17 19:29 淡然吖 阅读(639) 评论(0) 推荐(0)
摘要:每一个flutter项目的lib目录里都有一个main.dart这个文件就是flutter的入口文件。 main.dart里面的 void main(){ runApp(MyApp()); } 也可以简写 void main()=>runApp(MyApp()); 其中的main方法是dart的入口 阅读全文
posted @ 2021-01-17 11:12 淡然吖 阅读(514) 评论(0) 推荐(0)
摘要:风险描述 为了检测栈中的溢出,引入了Stack Canaries漏洞缓解技术。在所有函数调用发生时,向栈帧内压入一个额外的被称作canary的随机数,当栈中发生溢出时,canary将被首先覆盖,之后才是EBP和返回地址。在函数返回之前,系统将执行一个额外的安全验证操作,将栈帧中原先存放的canary 阅读全文
posted @ 2021-01-14 16:32 淡然吖 阅读(2242) 评论(0) 推荐(0)