第三百七十五回

文章目录

  • 1. 概念介绍
  • 2. 使用方法
  • 3. 代码与效果
    • 3.1 示例代码
    • 3.2 运行效果
  • 4. 内容总结

我们在上一章回中介绍了"分享三个使用TextField的细节"相关的内容,本章回中将介绍如何让Text组件中的文字自动换行.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中介绍的滚动布局和Android原生开发中的ScrollView组件类似,当屏幕中的内容多到无法通过一个屏幕完整显示时,它可以滚动显示这些内容。在Flutter
中没有单独的滚动组件,而是通过ListView相关的组件来表示滚动布局,这些相关的组件有GridView,SliverList。本章回中将以ListView为例来介绍滚动布局。

2. 使用方法

我们使用Stack组件来做为页面的布局,它可以分成多行内容,具体的切分方法我们会在后面的章节中介绍,本章回中的滚动布局只是其中的一行,因此它是一种局部的
滚动布局。下面是实现滚动布局的具体方法:- 使用Positioned组件来限定滚动布局所在的区域范围;

  • 在Positioned组件内包裹一个ListView组件,通过ListView组件实现滚动功能;
  • 在ListView组件内创建滚动的内容,可以使用其它的组件来实现;
    该方法的实现比较简单,就是一层层地嵌套,主要是这种掌握这种嵌套的思路。此外,本实现方法中的ListView可以使用其它具有滚动功能的组件替换,比如GridView
    SliverList组件。本方法实现的是一个局部的滚动布局,主要是通过Positioned来限制局部范围,也可以去掉这个限制让整个页面中的内容都可以滚动。

3. 代码与效果

3.1 示例代码

child: Stack(children: [///第二行内容: 这是一个滚动组件,滚动的区域通过Positioned指定Positioned(top: row2Height,width: screenWidth - padding*2,height: row3Height - row2Height,child: Container(decoration: BoxDecoration(color: Colors.greenAccent,borderRadius: BorderRadius.circular(20),),child: Center(child:ListView(///最好去掉List中的间距,不无法滚动到滚动区域的边缘padding: EdgeInsets.zero,itemExtent:32,children: List.generate(18, (index) {///列表中的内容是一个文本和分隔线return Column(children: [Container(color: Colors.yellow,child: Text("item: $index"),),const Divider(height: 2,color: Colors.white,),],);}),),),),),],
),

上面的示例代码完全按照实现方法中的步骤来编写,我们在代码中的关键位置添加了注释,方便大家理解代码。此外,我们在滚动组件外层加了个容器,主要用来实现圆角
功能,滚动内容是一个文本和分隔线。这两个内容不是固定的,大家可以依据自身项目需求来修改。代码中还有一个细节需要说明:最好去掉滚动组件的边距,不然滚动
组件中的内容无法滚动到区域边缘,影响外观效果。

3.2 运行效果

编译并且运行上面的代码,可以得到下面的运行效果图,图中绿色区域的内容就是滚动组件,只不过图片是静态的,不能滚动而已。建议大家自己动手实践,这样就可以
滚动绿色区域中的内容,而且可以修改滚动内容中的文本。038

4. 内容总结

最后,我们对本章回中的内容做一个全面的总结:

  • 在Flutter中没有单独的滚动组件,可以使用ListView类组件来实现滚动功能;
  • 创建滚动布局时可以使用容器类组件来限定滚动布局的范围,也可以不限制范围进而变成全局滚动;
  • 实现滚动布局主要利用了ListView组件的滚动功能,布局中滚动的内容可以自行定义;
    看官们,与"滚动布局的使用实例"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2822074.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

《C++进阶--10.多态》

目录 10. 多态 10.1 多态的基本概念 10.2 多态案例一-计算器类 10.3 纯虚函数和抽象类 10.4 多态案例二-制作饮品 10.5 虚析构和纯虚析构 10.6 多态案例三-电脑组装 10. 多态 10.1 多态的基本概念 多态是C面向对象三大特性之一 多态分为两类 静态多态: 函数重载 和 运算…

HTML---Ajax

文章目录 目录 文章目录 前言 一.Ajax概述 二.原生创建Ajax 三,使用Jquery处理Ajax 总结 一.Ajax概述 AJAX(Asynchronous Javascript And XML)是一种创建交互式网页应用的网页开发技术。它使用Javascript语言与服务器进行异步交互,可以传…

matplotlib.animation 3d姿态动画

目录 演示效果: 演示代码: 保存为gif 演示效果: 演示代码: import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotlib.animation import FuncAnimation# 定义人体关键点…

flutterandroidx支持,【工作经验分享】

基于Linux的pc启动过程 我们都知道,所有的程序软件包括操作系统都是运行在内存中的,然而我们的操作系统一般是存放在硬盘上的,当我们按下开机键的时候,此时内存中什么程序也没有,因此需要借助某种方式,将操…

kubectl 陈述式资源管理方法

目录 陈述式资源管理方法 项目的生命周期 1.创建kubectl create命令 2.发布kubectl expose命令 service的4的基本类型 查看pod网络状态详细信息和 Service暴露的端口 查看关联后端的节点 ​编辑 查看 service 的描述信息 ​编辑在 node01 节点上操作,查看…

Northwestern University-844计算机科学与技术/软件工程-复试注意事项【考研复习】

本文提到的西北大学是位于密歇根湖泊畔的西北大学。西北大学(英语:Northwestern University,简称:NU)是美国的一所著名私立研究型大学。它由九人于1851年创立,目标是建立一所为西北领地地区的人服务的大学。…

Android13 Audio框架

一、Android 13音频代码结构 1、framework: android/frameworks/base 1.AudioManager.java :音频管理器,音量调节、音量UI、设置和获取参数等控制流的对外API 2.AudioService.java :音频系统服务(java层)&#xff0c…

在vue2中使用饼状图

1.引入vue2和echarts <script src"https://cdn.jsdelivr.net/npm/vue2.7.14/dist/vue.js"></script> <script src"https://cdn.jsdelivr.net/npm/echarts5.4.0/dist/echarts.min.js"></script> 2.1 补充基本的body内容 <div id…

今年Android面试必问的这些技术面,2024Android常见面试题

都说程序员是在吃青春饭&#xff0c;这一点的确有一点对的成分&#xff0c;以前我不这么认为&#xff0c;但随着年龄的增长&#xff0c;事实告诉我的确是这样的&#xff0c;过了30以后&#xff0c;就会发现身体各方面指标下降&#xff0c;体力和身心上都多少有点跟不上了&#…

仿牛客网项目---私信列表和发送列表功能的实现

这篇文章我们来讲一下我的这个项目的另外一个功能&#xff1a;私信列表和发送列表功能。 先来设计DAO层。 Mapper public interface MessageMapper {// 查询当前用户的会话列表,针对每个会话只返回一条最新的私信.List<Message> selectConversations(int userId, int of…

云计算 3月1号 (文件管理及root破解登录和防御)

一、文件查找与打包压缩 grep: 文件内容过滤 [rootqfedu.com ~]# grep root /etc/passwd #从/etc/passwd文件中过滤root字段 root:x:0:0:root:/root:/bin/bash operator:x:11:0:operator:/root:/sbin/nologin [rootqfedu.com ~]# grep ^root /etc/passwd #从/etc/passwd文件…

第七篇:微信小程序的跳转页面

前提&#xff1a;建议还没学HTML、CSS、JavaScript、JSON、vue、Ajax的兄弟姐妹们&#xff0c;先去把这些基础补好过一遍&#xff0c;不然不好理解微信小程序 前面这一篇已经讲过一次<navigator>跳转页面的用法了&#xff0c;今天详细讲解一下 回顾&#xff1a; 小程序…

【C++从0到王者】第四十八站:最短路径

文章目录 一、最短路径二、单源最短路径 -- Dijkstra算法1.单源最短路径问题2.算法思想3.代码实现4.负权值带来的问题 三、单源最短路径 -- Bellman-Ford算法1.算法思想2.算法实现3.SPFA优化4.负权回路 四、多源最短路径 -- Floyd-Warshall算法1.算法思想2.算法实现 一、最短路…

93. 递归实现组合型枚举 刷题笔记

与我前面发的递归实现那一题有点相似 可以看看 94. 递归实现排列型枚举 刷题笔记-CSDN博客 思路 用u记录 选到哪一个位置 一旦选完 就输出 该题 要求升序 我们在选数时加入一个条件 大于上一个选择的数即可 依旧是从小到大搜到符合条件的每一个数 代码 #include<…

Vue中<style scoped lang=“scss“>的含义

这段代码中的<style scoped lang"scss">是HTML和Vue框架结合使用时常见的一个模式&#xff0c;具体含义如下&#xff1a; scoped&#xff1a;这是一个Vue.js特有的属性&#xff0c;用来指定样式只应用于当前组件的元素。没有这个属性时&#xff0c;样式会全局应…

element-plus表格合并

要实现这样的表格&#xff0c; 怎么做呢&#xff1f; 甚至是这种三级的呢&#xff1f; 官网的案例也是通过这个方法进行配置的&#xff0c;也就是说表格长什么样&#xff0c;关键在怎么处理的方法上。 这是官网的方法&#xff0c;可参考拓展&#xff1a; const arraySpanMeth…

外包干了7个月,技术退步明显.......

先说一下自己的情况&#xff0c;大专生&#xff0c;18年通过校招进入北京某软件公司&#xff0c;干了接近4年的功能测试&#xff0c;今年年初&#xff0c;感觉自己不能够在这样下去了&#xff0c;长时间呆在一个舒适的环境会让一个人堕落! 而我已经在一个企业干了四年的功能测…

Unity编写Shader内置各种矩阵和方法介绍

嗨&#xff0c;各位小伙伴们&#xff0c;我是你们的好朋友咕噜铁蛋&#xff01;今天&#xff0c;我们要来聊一聊关于Unity中编写Shader时内置的各种矩阵和方法。作为Unity开发者&#xff0c;掌握Shader编写是非常重要的一项技能&#xff0c;而了解内置的矩阵和方法将帮助我们更…

Acwing 周赛135 解题报告 | 珂学家 | 反悔堆贪心

前言 整体评价 VP了这场比赛&#xff0c; T3挺有意思的&#xff0c;反悔贪心其实蛮套路的。 A. 买苹果 思路: 签到 n, x list(map(int, input().split())) print (n // x)B. 牛群 思路: 分类讨论 from collections import Counters input() cnt Counter(s)lists sorte…

ROS2高效学习第五章 -- ros2 service 编程之自定义服务

ros2 service 编程之自定义服务 1 前言和资料2 正文2.1 两种自定义服务的讨论2.2 自定义服务独立成包2.2.1 自定义服务&#xff08;diy_interface&#xff09;2.2.2 service_cpp使用自定义服务2.2.3 service_py使用自定义服务 2.3 自定义服务放在模块包里&#xff08;service_m…