Flutter开发(五)—— ListView控件横向展示

记录:Flutter Listview 纵向/横向列表 数据: var city_name = [ "广州", "深圳", "北京", "上海", "杭州", "天津", "重庆", "成都", "厦门", "长沙", "哈尔滨", "西安" ]; Scaffold内body 实现Listview列表,数据源是数组,所以children使用map或者foreach遍历创建Item即可 如下: class _ItemStateFulWidgetState extends State<ItemSt 阅读详情

Flutter开发(四)—— ListView控件介绍了ListView的简单用法,这里配了一张动态图片,看下ListView横向的效果。手机上跑的效果是非常丝滑的(跟原生没有任何区别),这里使录制14帧/秒(控制图片体积)。
在这里插入图片描述
以下代码结构很简单,但是为了证实flutter的View编写也可以分代码,所以进行了简单封装:
1、将整个View代码到了ViewShow中;
2、将ListView代码提到了horizontalList中;
3、将Listview的每个条目提到了ListItem中。

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ViewShow(),
    );
  }
}

// 展示布局
class ViewShow extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: new AppBar(
          title: new Text("ListView"),
          backgroundColor: Colors.black45), // Bar 背景设置为灰色
      body: Center(
        child: Container(
          height: 500, //Container的高度  默认就是ListView高度
          child: horizontalList(), //调用ListView
        ),
      ),
    );
  }
}

// 展示ListView
class horizontalList extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ListView(
      scrollDirection: Axis.horizontal, //设置为横向,默认使纵向
      children: <Widget>[
        new ListItem(context,
            "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=1381175915,2452671132&fm=200&gp=0.jpg"),
        new ListItem(context,
            "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1486063646,2273285260&fm=200&gp=0.jpg"),
        new ListItem(context,
            "https://ss3.bdstatic.com/70cFv8Sh_Q1YnxGkpoWK1HF6hhy/it/u=174198655,918435950&fm=200&gp=0.jpg"),
        new ListItem(context,
            "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=2970139869,654827709&fm=200&gp=0.jpg"),
        new ListItem(context,
            "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=768870055,119193172&fm=200&gp=0.jpg"),
      ],
    );
  }
}

//ListView 的 子item
class ListItem extends StatelessWidget {
  String image_url;
  ListItem(BuildContext mContext, String url) {
    image_url = url;
  }

  @override
  Widget build(BuildContext context) {
    final size = MediaQuery.of(context).size; //获取设备屏幕长宽
    print("--------------$size"); //我的设备宽 360.0  720.0
    final width = size.width;
    final height = size.height;
    // TODO: implement build
    return new Container(
      width: width, //  全屏宽度
      child: Container(
          margin: EdgeInsets.all(10),
          decoration: new BoxDecoration(
              border: Border.all(color: Colors.yellow, width: 3.0), //边框
              borderRadius: new BorderRadius.all(new Radius.circular(20.0)),  //倒圆角
              image: DecorationImage(
                  image: NetworkImage(image_url), fit: BoxFit.cover))), //背景图片、图片展示方式
    );
  }
}

Flutter入门并开发天气预报APP(5)——SingleChildScrollView、ListView和GridView 文章目录1. SingleChildScrollView1.2 physics2. ListView2.1 ListView.builder2.2 ListView.separated3. GridView3.1 SliverGridDelegateWithFixedCrossAxisCount3.2 SliverGridDelegateWithMaxCrossAxisExtent3.3 Grid... 阅读详情

相关推荐

Flutter开发之——可滑动组件—ListView

说一千道一万,不如自己去行动。要想在移动互联网的下半场是自己占有一席之地,那就得从现在开始,从今天开始,马上严格要求自己,既重视业务实现能力,也重视基础和原理。基础夯实好了,高楼才能够平地而起,稳如泰山。最后为了帮助大家深刻理解Android相关知识点的原理以及面试相关知识,这里放上相关的我搜集整理的24套腾讯、字节跳动、阿里、百度2020-2021面试真题解析,我把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包知识脉络 + 诸多细节。还有。

2401_83641491的博客 1155

Flutter入门之ListView横向列表

制作横向列表 这个我们先来看效果,然后再具体讲解使用方法: import 'package:flutter/material.dart'; void main () => runApp(MyApp()); class MyApp extends StatelessWidget{ @override Widget build(BuildContext context ){ ...

weimeig的博客 8278

Flutter 框架跨平台鸿蒙开发 —— SingleChildScrollView 控件之长内容滚动艺术

本文深入解析Flutter中的SingleChildScrollView控件,重点介绍其在移动应用开发中处理非重复性长内容的优势。内容涵盖核心属性(ScrollPhysics、ScrollController)、与ListView的性能对比、滚动布局约束逻辑,并特别针对HarmonyOS开发提出表单处理建议。文章通过流程图和对照表直观展示滚动机制,强调合理使用该控件可解决界面溢出问题,提升用户体验。最后预告将探讨网格布局,为开发者提供跨平台社区资源。

小雨下雨的雨 913

Flutter开发(三)——ListView组件——简单使用、横纵向列表以及动态列表

首先我先来介绍一哈Icon Icon就是图标,Flutter有丰富的Icon库,提供了常用的Icon供开发者选择 import 'package:flutter/material.dart'; void main() { runApp(new MaterialApp( home: new MyApp(), )); } class MyApp extends Statele...

追风者 3042

高分系列卫星轨道、传感器参数等信息

遥感卫星数据简介-高分系列

中遥科 3309

AI漫剧实战:MiniMaxH3本地部署+ComfyUI工作流,6G显存出长视频

随着AI视频生成技术的普及,创作者开始追求在有限硬件条件下的本地化部署。本地部署不仅降低使用成本,更能获得对生成流程的完全可控性,这为高频次的内容生产提供了基础。以开源工作流引擎ComfyUI为依托,通过量化模型与显存优化,即便是6G显存的中端显卡也能流畅运行MiniMaxH3视频生成模型,输出60秒级别的AI漫剧片段。本文从视频生成原理出发,讲解模型选择、节点搭建、参数调优与提示词结构化设计,并延伸到剧本拆分、角色一致性控制、后期合成及平台变现路径,为AI漫剧创作者提供一套低成本、可复制的工程化方案。无论

weixin_29051149的博客 158

Flutter 小技巧之横竖列表的自适应大小布局支持

今天这个主题看着是不是有点抽象?又是列表嵌套?之前不是分享过了么?那这次的自适应大小布局支持有什么不同?算是某些奇特的场景下才会需要。首先我们看下面这段代码,基本逻辑就是:我们希望vertical的ListView里每个 Item 都是根据内容自适应大小,并且 Item 会存在有horizontal的ListView这样的 child。horizontal的ListView我们也希望它能够根据自己的children去自适应大小。答案是不能,因为这段代码里vertical的ListView嵌套了。

恋猫de小郭的博客 2411

PX4自定义uORB消息与MAVLink消息映射实战:从飞控到QGC地面站完整流程解析

本文详细解析PX4飞控中自定义uORB消息与MAVLink消息映射的完整流程,涵盖从飞控内部消息定义、MAVLink消息创建到QGC地面站接收显示的全链路实践。重点介绍如何使用mavlink inspector工具进行调试,解决版本兼容性和多实例消息处理等常见问题,为无人机开发者提供可靠的实时数据监控方案。

ll5678的博客 1067

Flutter学习笔记六——ListView Widget(二)横向列表

ListView Widget横向列表 在上一篇Flutter学习笔记五——ListView Widget中认识了ListView Widget的基本使用,默认情况下是竖向列表,这一篇来了解一下横向列表的使用。 其实ListView实现横向列表,只需要添加ScrollDirection属性。 body: Center( child: Container( height: 200.0, child: ListView(

chuyouyinghe的专栏 1648

SAR成像处理基本知识2——图像尺寸与回波尺寸的关系

阅读本文前,请先了解上一篇文章(SAR成像处理基本知识1——常用专用名词解释) 1. SAR图像尺寸预估方法 以C波段2m@20km的SAR图像为例,假设天线中心下视角为35° ,说明图像尺寸的估计方法。 1.1 距离向尺寸估计 地距分辨率为2m时,距离向分辨率约为1.15m,则要求信号带宽不小于130MHz,假设信号带宽为150MHz,采样率为180MHz,那么距离向分辨单元为0.833m。 地距幅宽为20km时,距离向幅宽约为20*sind(3...

爱学习的小伟的博客 4954

基于OpenAI Agents构建多智能体工作流:从原理到实战

多智能体系统(Multi-Agent System)是人工智能领域的重要分支,它通过多个智能体(Agent)的协作与交互,解决单一智能体难以处理的复杂任务。其核心原理在于将任务分解、分配与协调,每个智能体具备特定能力,通过通信机制实现信息共享与决策协同。在工程实践中,多智能体框架的价值在于提升任务处理效率、增强系统鲁棒性,并支持模块化开发。典型的应用场景包括自动化工作流编排、复杂问题求解以及人机协同交互。本文以OpenAI Agents SDK为例,深入探讨如何利用其提供的智能体(Agent)、会话(Ses

weixin_28725959的博客 603

Flutter开发(五)—— ListView控件

ListView既可以纵向也可以横向,是Flutter中非常重要的控件。以下只是进行了简单用法的演示,因为目前我的水平也仅是熟练使用。真的等到,可以分析源码的水平时,在进入深入补充。 一图顶千言,下图为后面代码运行效果。 代码中ListView包含的条目有Container、Image、ListTile等,仅是为了基本用法,代码都是写死的。其中 Container 与 Image进行了组合运用。...

RedKeyer的博客 460

Windows VHD的新玩法——设置任意挂载点

vhd 挂载隐藏的虚拟分区 详细过程 分别使用CreateVirtualDisk和OpenVirtalDisk来创建和打开虚拟磁盘文件。 使用AttachVirtualDisk,必须具有管理员权限才能成功执行此步骤。 初始化设备(延时Sleep),获取附加 VHD 的 UNC 路径:\\.\PhysicalDrive# 。 使用FindFirstVolume/FindNextVolume枚举已安装的卷以查找虚拟磁盘上的卷。 使用SetVolumeMountPoint将卷挂载到文件夹或者设

圣三一 2583

Flutter 填坑之 ListView.builder 下横向不显示内容

当我们用 ListView.builder 构造函数打造一个横向的 ListView 的时候,代码是这样的: ListView.builder( scrollDirection: Axis.horizontal, itemCount: 3, itemBuilder: _getKeChengItem,...

油焖茄子 的博客 3324

uniapp - 详细解决 H5 网页报错 Uncaught Error: Async component timed out after ? ms.(移动端h5页面白屏或加载缓慢失败,超时报错处理)

uni-app,vue3,网页,h5,移动端,手机H5页面,浏览器,报错,uniapp报错,Asynccomponenttimedoutafter,如何解决这个问题,vue3Asynccomponenttimedoutafter,异步组件超时了怎么办,async,详细解决方案,AsyncComponents异步组件,导致页面打不开了,白屏什么也不显示,网页载入非常慢卡顿,vue3网站报错,超时,nuxt3,详细解决方案,浏览器控制台报错,爆红并且页面卡住了,依旧报错,找不到异步组件的报错

🏆 前端领域优质创作者 3773

R语言生存分析之竞争风险模型

R语言生存分析之竞争风险模型 竞争风险模型(Competing Risk Model)是一种处理多种潜在结局生存数据的分析方法,早在1999年Fine和Gray就提出了部分分布的半参数比例风险模型,通常使用的终点指标是累积发生率函数(cumulative incidence function,CIF)。 研究中结局事件可能有多个,某些结局将阻止感兴趣事件的出现或影响其发生的概率,各结局事件形成“竞争”关系,互为竞争风险事件。 竞争风险模型( Competing Risk Model ) : 指

data+scenario+science+insight 5246

Flutter 基础控件 ListView

Flutter 基础控件 ListView 简单使用 /// ListView 简单案例 class ListViewDemo extends StatelessWidget { @override Widget build(BuildContext context) { return ListView( children: <Widget>[ ...

小小熊的博客 208

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Flutter实现ListView效果

在Flutter中,Android ListView就是Flutter中的ListView 在Android ListView中,您可以创建一个适配器,然后您可以将它传递给ListView,该适配器将使用适配器内返回的内容来展示每一行。然而,你必须确保在合适的时机回收行,否则,你会得到各种疯狂的视觉和内存问题。 在Flutter中,由于Flutter的不可变的widget模型,将一个Widge...

u010221508的博客 4098

android 蓝牙通讯demo

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

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

Flutter开发GridView控件详解

width:宽度height:高度clip:超过区域是否自动裁切cellWidth:单元格宽度cellHeight:单元格高度model:提供数据,ListModeldelegate:为数据设计展示样式currentIndex:当前项索引highLight:高亮显示样式highlightFollowsCurrentItem:高亮是否跟随当前项highlightMoveDuration:高亮移动到下一个位置所需时间。

鸿蒙的技术博客 1593

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Flutter中ImageView、ListView、GridView简单使用

key来表示可空,又因为title是final修饰量,final修饰的常量必须在声明进初始化或者在构造函数中初始化,它的值可以动态计算。图片混合模式(colorBlendMode)和color属性配合使用,能让图片改变颜色,里边的模式非常的多,产生的效果也是非常丰富的。fit属性可以控制图片的拉伸和挤压,这些都是根据图片的父级容器来的。最后的结果是生产了一个带值的List变量。:显示可能拉伸,可能裁切,充满(图片要充满整个容器,还不变形)。这是一个构造函数,除了Key,我们增加了一个必传参数,这里的。

闪亮的大早的博客 1155

Flutter控件

2.图片 (1)Icon:系统自带图标 (2)本地图片 Image.asset() AssetImage (3)网络图片 Image.network() NetworkImage (4)Alignment设置图片位置 (5)BoxFit设置大小和图片不吻合时 3.按钮(xxButton) (1)普通按钮 常用的普通按钮:常用属性: (2)下拉菜单按钮 DropdownButtonFloatingActionButtonFloatActionButton

chenyiluo94的博客 1275

Flutter-UI-基础控件-组件大全

一直觉得自己写的不是技术,而是情怀,一个个的教程是自己这一路走来的痕迹。靠专业技能的成功是最具可复制性的,希望我的这条路能让你们少走弯路,希望我能帮你们抹去知识的蒙尘,希望我能帮你们理清知识的脉络,希望未来技术之巅上有你们也有我。 StatrlessWidget 是一个小部件(小组件),它是一个抽象类,创建出来的控件要实现build的抽象方法。 class AppBarPage extends StatelessWidget { const AppBarPage({Key key}) : super(k

weixin_38716347的博客 3552

unity循环滚动列表_Flutter常用组件-ListView 列表组件

一、ListView 列表组件简介列表组件也是一个经常使用的组件。在看ListView组件之前先了解一下ListTile组件。1、ListTile(列表瓦片)组件ListTile通常用于填充 ListView。/** * ListTile组件 */class ListTileWidget extends StatelessWidget { @override Widget build(Buil...

weixin_39605296的博客 552

Flutter 列表学习(listview,gridview,ExpansionTile,ScrollController,RefreshIndicator)

文章目录任何页面可以分为3类,第一类 全列表,第二类非列表,第三类非列表和列表,所以列表玩溜了,就成功了一大步。下面我们就开始搞列表列表分类1. 纵向列表2. 横向列表3. 网格列表4. 可点击展开列表5. 下拉刷新6. 加载更多listview(纵向横向列表)gridview (网格列表)ExpansionTile (可以点击展开列表)RefreshIndicator 下拉刷新控件ScrollC...

yujunlong3919的专栏 751

Flutter开发五、常用组件与页面布局

Flutter万物皆组件(Widget) Text Widget child里的属性 textAlign:文字对齐方式 maxLines:最大行数,溢出部分默认不显示,可以通过overflow设置 overflow:溢出文字显示方式 TextStyle里的属性: fontSize:文字大小 color:设置文字颜色,一般用color:color.fromARGB() decoration: TextDecoration.underline,//下划线,也有其他的 decoration.

瑶山的博客 3124

flutter- Row Column Expanded ListView

文章目录Row继承介绍Code构造方法主轴侧轴MainAxisAlignmentMainAxisSizeCrossAxisAlignment黄色和黑色警告条纹ColumnFlexibleExpanded 继承与FlexibleFlexFitListView参考 Row 继承 Object-> Diagnosticable ->DiagnosticableTree-> Widge...

yujunlong3919的专栏 1786
上一篇: Flutter开发(五)—— ListView控件
下一篇: Ubuntu18.04录屏并生成gif图片
RedKeyer
博客等级 码龄11年 33粉丝 67原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值