flutter GridView 九宫格

[漏洞利用]利用五次Shift越权破解win7\win10开机密码 注:第一个学习和接触的Windows漏洞 文章目录本机实验环境前置知识漏洞原理漏洞介绍漏洞验证解决方法基本流程介绍详细步骤截图 本机实验环境 虚拟机:VMware Workstation 14 pro 操作系统:Windows10 前置知识 1、cmd工具路径 c:\windows\system32\cmd,按五次shift默认调用同目录下sethc文件,其路径为“c:\windows\system32\sethc.exe” 2、用户/账户密码存储位置 c:\windows\system32\config\ 阅读详情

我收集了一些学习用的资料,其中包含了很多学习,面试,中高进阶fluuter资料,还有很多视频详解,如果有同学想进一步了解,详情请看文末。也欢迎各路大神门前来装X。

1 引言

GridView是常用可滚动组件之一,在Flutter中通常使用GridView构建二维网格列表,GridView创建方法有五种,描述如下

GridView的构造函数方法,一次性构建所有的子条目,适用于少量数据

GridView.builder方式来构建,懒加载模式,适用于大量数据的情况

GridView.count方式来构建,适用于固定列的情况,适用于少量数

GridView.extent方式来构建,适用于条目有最大宽度的限制的情况,适用于少量数据的情况下

GridView.custom 方式来构建,可配置子条目的排列规则也可配置子条目的渲染加载模式

2 滑动组件的公有属性

GridView也是滑动组件系列中的一个,它也有滑动组件一些公用的属性,简单描述如下:

///滑动方向 Axis scrollDirection = Axis.vertical, ///是否滑动到底部 bool reverse = false, ///滑动控制器 ScrollController controller, ///是否使用默认的控制器 bool primary, ///滑动到边界时的回弹效果 ScrollPhysics physics, ///内边距 EdgeInsetsGeometry padding,

3 通过GridView的构造函数来创建

通过GridView的构造函数来构建,通过参数children来构建GridView中使用到的所有的子条目,通过参数gridDelegate配置SliverGridDelegate来配置子条目的排列规则。

SliverGridDelegate声明为abstract抽象的,所以需要使用它的子类来构建。

SliverGridDelegate有两个直接的子类SliverGridDelegateWithFixedCrossAxisCount和SliverGridDelegateWithMaxCrossAxisExtent。

通过SliverGridDelegateWithFixedCrossAxisCount来构建一个横轴为固定数量的子条目的GridView,如下图所示。

对应代码如下:

///GridView的基本使用class GridViewBaseUsePage extends StatefulWidget { @override State createState() { return ScrollHomePageState(); }}

class ScrollHomePageState extends State { @override Widget build(BuildContext context) { return Scaffold( appBar: new AppBar( title: Text(“GridView基本使用”), ), ///构建九宫格数据数据 body: buildGridView1(),// body: buildGridView2(), ); } ///GridView 的基本使用 ///通过构造函数来创建 Widget buildGridView1() { return GridView( ///子Item排列规则 gridDelegate: SliverGridDelegateWithFixedCrossAxisCount( //横轴元素个数 crossAxisCount: 3, //纵轴间距 mainAxisSpacing: 10.0, //横轴间距 crossAxisSpacing: 10.0, //子组件宽高长度比例 childAspectRatio: 1.4), ///GridView中使用的子Widegt children: buildListViewItemList(), ); } ///GridView 的基本使用 ///通过custom方式来创建 Widget buildGridView() { return GridView.custom( cacheExtent: 200, ///子Item排列规则 gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent( ///子Item的最大宽度 maxCrossAxisExtent: 100, //纵轴间距 mainAxisSpacing: 10.0, //横轴间距 crossAxisSpacing: 10.0, //子组件宽高长度比例 childAspectRatio: 1.4, ), ///子条目的构建模式 childrenDelegate: ///懒加载的模式 SliverChildBuilderDelegate((BuildContext context, int index) { return buildListViewItemWidget(index); })); }

List buildListViewItemList(){ List list = []; ///模拟的8条数据 for (int i = 0; i

///创建GridView使用的子布局 Widget buildListViewItemWidget(int index) { return new Container( ///内容剧中 alignment: Alignment.center,

///根据角标来动态计算生成不同的背景颜色 color: Colors.cyan[100 * (index % 9)], child: new Text(‘grid item $index’), ); }}

属性配置说明如下图所示:

通过SliverGridDelegateWithMaxCrossAxisExtent来构建横轴Item数量不固定的GridView,其水平方向Item个数由maxCrossAxisExtent和屏幕的宽度以及padding和mainAxisSpacing来共同决定。

如下图所示,屏幕分辨率为750*1334的4.7英寸的手机,屏幕宽度逻辑橡素为375.0,屏幕比例devicePixelRatio为2.0。

通过SliverGridDelegateWithMaxCrossAxisExtent配置的子条目设置maxCrossAxisExtent最大宽度为120,时,如下图所示,GridView每一行显示3列。

当本配置maxCrossAxisExtent最大宽度为80,如下图所示,GridView第一行显示4列。

当然当指定一个maxCrossAxisExten值后,在不同手机屏幕分辨率上,每一行展示的列数也有所不同。

4 GridView.count与GridView.extent方式来创建

GridView的count用来构建每行有固定列数的宫格布局,参数crossAxisCount为必选参数,用来配置列数,与使用GridView通过SliverGridDelegateWithFixedCrossAxisCount方式来构建效果一至,基本使用代码如下:

///GridView 的基本使用///通过count方式来创建Widget buildGridView3() { return GridView.count( ///每行的列数 crossAxisCount: 4, //纵轴间距 mainAxisSpacing: 10.0, //横轴间距 crossAxisSpacing: 10.0, ///所有的子条目 children: buildListViewItemList(), );}

GridView的extent用来构建列数不固定,限制每列的最大宽度或者高度的的宫格布局,参数maxCrossAxisExtent为必选参数,用来配置每列允许的最大宽度或者是高度,与使用GridView通过SliverGridDelegateWithMaxCrossAxisExtent方式来构建效果一至,基本使用代码如下:

///GridView 的基本使用///通过count方式来创建Widget buildGridView4() { return GridView.extent( ///每列Item的最大宽度 maxCrossAxisExtent: 120, //纵轴间距 mainAxisSpacing: 10.0, //横轴间距 crossAxisSpacing: 10.0, ///所有的子条目 children: buildListViewItemList(), );}

5 GridView.builder方式来创建

在上面描述到的GridView构造函数、count方法与extent方式来构建,都是一次性将所有的子Item构建出来,所以只适用于少量的数据

GridView的builder方式来构建,是通过懒加载模式来的,参数gridDelegate用来配置子Item的排列规则,与GridView的构造函数中gridDelegate使用一致,可分别使用SliverGridDelegateWithFixedCrossAxisCount构建固定列数的宫格和SliverGridDelegateWithMaxCrossAxisExtent构建不固定列数,固定条目最大宽度或者高度的宫格,基本使用代码如下:

///通过builder方式来创建Widget buildGridView5() { return GridView.builder( ///缓存区域 cacheExtent: 120, ///内边距 padding: EdgeInsets.all(8), ///条目个数 itemCount: 100, ///子Item排列规则 gridDelegate: SliverGridDelegateWithMaxCrossAxisExtent( ///子Item的最大宽度 maxCrossAxisExtent: 100, //纵轴间距 mainAxisSpacing: 10.0, //横轴间距 crossAxisSpacing: 10.0, //子组件宽高长度比例 childAspectRatio: 1.4, ), ///懒加载构建子条目 itemBuilder: (BuildContext context,int index){ return buildListViewItemWidget(index); }, );}

https://shimo.im/docs/dYkqrQcyr98jPKYX/ 《android学习面试fulutter进阶资料免费获取》,可复制链接后用石墨文档 App 或小程序打开。

Mstar的Monitor方案OSD 菜单制作(五)——icon绘制 Mstar的Monitor方案(五)————绘制icon 阅读详情

相关推荐

MATLAB新手必看:Stewart平台运动学逆解从入门到实战(附完整代码)

本文详细介绍了如何使用MATLAB实现Stewart平台的运动学逆解,从基础原理到完整代码实现,涵盖并联机器人的数学建模、MATLAB编程和Simulink集成。通过实战案例和可视化分析,帮助新手快速掌握Stewart平台的运动学逆解技术,适用于机器人学和控制理论领域的研究与应用。

dream的博客 551

flutter仿抖音首页面效果

本课程将使用 flutter 实现类似抖音首页面效果 通过 TabBar 与 TabBarView 结合使用 实现仿抖音APP首页面 关注 与推荐 页面左右滑动ui构建通过 PageView 来实现上下整屏切换效果使用 VideoPlayer组件实现视频播放功能通过 CircularProgressIndicator实现 有圆形背景样式的按钮浮在视频列表上方来实现控制视频的播放与暂停,并会综述一个 Align 在手机坐标系中的对齐方式通过 ClipOval、CachedNetworkImage 实现圆形头像通过 showModalBottomSheet 实现从页面底部上滑的弹框,结合 ListView 实现弹框显示评论列表功能通过 showModalBottomSheet 实现从页面底部上滑的弹框,结合 GridView 实现弹框显示九宫格列表功能

scrapy - 美团民宿 实战练习

目录结构 items.py import scrapy # 民俗名称,地区,价格,房间类型及数量,床的数量,可住几人 class MeituanItem(scrapy.Item): # define the fields for your item here like: # name = scrapy.Field() title = scrapy.Field() place = scrapy.Field() price = scrapy.F...

小刘的博客 2664

flutter 九宫格菜单_Flutter页面开发体验

背景Flutter作为新晋 网红 ,虽然还没有在我们项目中商用,但是热度已经有赶超ReactNative的趋势。 为了体验其开发效率和能力验证,我们将项目主界面中的个人页面进行Flutter重构。为什么不选其他更复杂的界面呢?因为首页已经被重构了,没必要重复劳作。 构思高度还原原版效果,可以对其进行截图,标注各部大小。为了简化这个过程,我们对大部分的模块只做预估,保证基本样子一致就行,不做像素级...

weixin_39626745的博客 831

Vue3实战:企业级应用集成钉钉扫码登录全流程解析

本文详细解析了在Vue3企业级应用中集成钉钉扫码登录的全流程。从钉钉开放平台应用创建与配置,到Vue3前端如何优雅地嵌入并管理扫码组件,再到后端如何安全地处理OAuth 2.0授权码以换取用户信息并完成登录,提供了完整的实战代码与避坑指南。该方案能有效实现安全便捷的单点登录,统一企业身份认证。

weixin_29019241的博客 289

保姆级教程:Halcon 3D点云匹配与差异分析避坑指南(从采样到可视化)

本文提供了一份详细的Halcon 3D点云匹配与差异分析实战指南,涵盖从模型准备到可视化的全流程。重点解析了STL文件读取单位误区、点云采样密度优化、表面模型创建技巧以及差异分析的专业手法,帮助用户避开常见陷阱,提升工业检测效率与精度。

weixin_33728268的博客 402

flutter仿微信朋友圈发布页面图片上传及九宫格展示

flutter仿微信朋友圈发布页面图片上传及九宫格展示

m0_46527751的博客 2962

深入解析SSD报错“READ FPDMA QUEUED”:从诊断到修复全流程

本文深入解析了SSD报错“READ FPDMA QUEUED”的含义、成因与全流程解决方案。该错误通常指示硬盘硬件或健康状态问题。文章详细介绍了如何通过系统日志定位错误、解读关键的S.M.A.R.T.健康报告(重点关注重分配扇区计数等指标),并逐步进行硬件排查(如更换SATA数据线)、软件修复与数据抢救,最终指导用户根据诊断结果做出维修或更换SSD的决策。

weixin_29233333的博客 398

九宫怎么排列和使用_flutter GridView 九宫格

1 引言GridView是常用可滚动组件之一,在Flutter中通常使用GridView构建二维网格列表,GridView创建方法有五种,描述如下GridView的构造函数方法,一次性构建所有的子条目,适用于少量数据GridView.builder方式来构建,懒加载模式,适用于大量数据的情况GridView.count方式来构建,适用于固定列的情况,适用于少量数GridView.exte...

weixin_39545805的博客 871

ABAP BOM展开避坑指南:CS_BOM_EXPL_MAT_V2函数参数配置详解

本文深入解析了SAP ABAP开发中用于物料清单展开的核心函数CS_BOM_EXPL_MAT_V2。针对其复杂的参数配置,如CAPID、STLAN、DATUV和MEHRS,提供了详细的避坑指南和最佳实践,帮助开发者避免数据错误与性能陷阱,实现高效、准确的BOM多层展开。

pea55的博客 855

YOLOv8改进 | 主干篇 | 利用MobileNetV1替换Backbone(轻量化网络结构)

本文给大家带来的改进机制是MobileNetV1,其是专为移动和嵌入式视觉应用设计的轻量化网络结构。这些模型基于简化的架构,并利用深度可分离卷积构建轻量级深度神经网络,其引入了两个简单的全局超参数,用于在延迟和准确性之间进行有效的权衡。实验表明,MobileNets在资源和准确性的权衡方面表现出色,并在多种应用(如对象检测、细粒度分类、面部属性识别和大规模地理定位)中展现了其有效性,这个模型非常适合轻量化的读者来使用。适用检测目标:轻量化网络结构适合轻量化的读者。

Snu77的博客 3966

flutter 九宫格菜单_flutter GridView 九宫格

题记—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。重要消息1 引言GridView是常用可滚动组件之一,在Flutter中通常使用GridView构建二维网格列表,GridView创建方法有五种,描述如下GridView的构造函数方法,一次性构建所有的子条目,适用于少量数据GridView.builder方式来构建,懒加载模式,适用于大量数据的情况GridView.co...

weixin_39978282的博客 206

PCL 基于法向距离的对应点获取

提出了一种基于法向量欧氏距离的点云配准方法。详细推导了法向量距离计算公式,并给出具体计算流程。在代码实现部分,采用PCL库完成了点云法向量计算和对应关系估计,通过可视化验证了算法有效性。实验结果表明,该方法能够准确获取点云间的对应关系,为后续点云配准奠定了基础。

点云侠的博客 226

flutter 九宫格菜单_flutter GridView 九宫格-阿里云开发者社区

题记—— 执剑天涯,从你的点滴积累开始,所及之处,必精益求精,即是折腾每一天。重要消息GridView 九宫格1 引言GridView是常用可滚动组件之一,在Flutter中通常使用GridView构建二维网格列表,GridView创建方法有五种,描述如下GridView的构造函数方法,一次性构建所有的子条目,适用于少量数据GridView.builder方式来构建,懒加载模式,适用于大量数据的...

weixin_39614834的博客 270

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Flutter - GridView实现朋友圈效果(九宫格)

效果图 关于图片点击全屏浏览请看: 主界面代码 import 'package:flutter/material.dart'; import 'package:flutter_app/JhNinePictureTool.dart'; import 'package:flutter_app/ninePicture.dart'; import 'package:flutter_app/jhBotto...

iotjin的专栏 2297

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

30.Flutter 零基础入门(三十):GridView 网格布局 —— 九宫格与商品列表必学

本文详细介绍了Flutter中的GridView网格布局组件,它是电商App、九宫格和商品列表等场景的核心布局方案。文章对比了GridView与ListView的区别,重点讲解了GridView.count和GridView.builder两种实现方式,包括基本结构、参数配置和真实项目写法。特别强调了网格间距、子元素宽高比等关键参数,并提供了商品卡片封装的示例代码。最后指出了常见使用误区,帮助开发者掌握标准商品列表页的实现方法,为电商类页面开发打下基础。

工作,学习历程分享 528

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

flutter 九宫格菜单_flutter九宫格看图加强版

九宫格看图,效果如下图Screenshot_1571750889.pngimport 'package:flutter/material.dart';import 'dart:math';// ignore: must_be_immutableclass NinePicture extends StatelessWidget {List> list = [];NinePicture(List...

weixin_36151775的博客 1118

第7章页面布局-GridView布局

防采集标记:亢少军老师的课程和资料 import 'package:flutter/material.dart'; void main() { runApp(new MaterialApp( title: 'GridView九宫格示例', home: new MyApp(), )); } class MyApp extends StatelessWidget { ...

亢少军的博客 441

flutter 九宫格菜单_Flutter 九宫格及Hero动画

class LXPhotosView extends StatefulWidget {//数据资源final List list;//主轴间距final double mainAxisPaddingSize;//交叉轴间距final double crossAxisPaddingSize;// 圆角大小(默认没有圆角)final double radiusSize;//交叉轴个数 (默认值 根据九...

weixin_39800331的博客 430

flutter图片预览_flutter九宫格图片查看器

一个九宫格图片查看器Screenshot_1542963454.pngScreenshot_1542963645.pngimport 'package:cached_network_image/cached_network_image.dart';import 'package:flutter/material.dart';class PictureShow extends StatelessWi...

weixin_39781323的博客 605

flutter 九宫格菜单_flutter九宫格图片查看器

一个九宫格图片查看器 Screenshot_1542963454.png Screenshot_1542963645.pngimport 'package:cached_network_image/cached_network_image.dart';import 'package:flutter/material.dart';class PictureShow extends Sta...

weixin_40007175的博客 615

Flutter 实现九宫格抽奖动画效果

通过Flutter实现的九宫格抽奖效果

上辈子作恶多端,这辈子写前端。 2529

Flutter - GridView3 - 实现朋友圈效果(对4图处理)

效果图 关于图片点击全屏浏览请看:https://www.jianshu.com/p/69e58c76afa4 主界面代码 import 'package:flutter/material.dart'; import 'package:flutter_app/jhBottomSheet.dart'; import 'package:flutter_app/JhNinePictureTool2.d...

iotjin的专栏 1204

Flutter for OpenHarmony 实战之基础组件:第十二篇 GridView 网格布局详解

在 App 开发中,除了线性的列表,网格布局是展示图片、商品和功能的最佳方式。本文将全方位解析 Flutter 的 GridView 组件,从基础的固定列数网格,到高性能的动态懒加载,最后教你如何利用 LayoutBuilder 在 OpenHarmony 平板与折叠屏上实现自适应响应式网格。

好代码自己会说话,烂代码才需要注释来圆谎 1万+
上一篇: Android recycleview 分割线彩蛋
下一篇: flutter 如何快速的做好APP的图标适配
android1396
博客等级 码龄6年 4粉丝 30原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值