PageView组件的功能和用法

文章目录

  • 1 概念介绍
  • 2 使用方法
  • 3 示例代码

我们在上一章回中介绍了如何屏蔽事件关的内容,本章回中将介绍PageView Widget.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1 概念介绍

我们在这里介绍的PageView是指左右滑动或者上下滑动显示不同的页面,Flutter把它封装成了独立的Widget。如果有看官们会Android编程的话,就会发现它的功
能和ViewPage以及ViewPage2的功能类似。本章回中将详细它的使用方法。

2 使用方法

和其它的组件一样,PageView提供了相关的属性来控制自己,我们只需要给属性赋值就可以,下面是常用的属性:

  • scrollDirection属性用来控制滑动的方向,例如Axis.horizontal表示水平滑动时切换页面;
  • children属性用来存放滑动的页面,它是一个List,可以存放多个页面;
  • onPageChanged属性是一个回调方法,当页面滑动时它就会被回调,方法中的参数是页面的索引值,索引值与children中的数量一致,不过是从0开始;

3 示例代码

return Scaffold(
  appBar: AppBar(
    title: const Text("Example of PaveView"),
    backgroundColor: Colors.purpleAccent,
  ),
  body: PageView(
    scrollDirection: Axis.horizontal,
    onPageChanged: (value){print("onPage Changed: ${value}");},
    children: [
      Container(
        alignment: Alignment.center,
        //长度和调试没有效果,会填充满整个屏幕
        width: 100,
        height: 300,
        color: Colors.lightBlue,
        child: const Text("Page 1"),
      ),
      Container(
        alignment: Alignment.center,
        color: Colors.greenAccent,
        child: const Text("Page 2"),
      ),
      Container(
        alignment: Alignment.center,
        color: Colors.brown,
        child: const Text("Page 3"),
      ),
    ],
  ),
);

上面的代码中我们给PageVeiw添加了三个页面,每个页面的背景颜色不同,而且页面中间显示页面序号。注意页面会填充满整个屏幕,即使指定长度和宽度也没有效果。
代码中onPageChanged属性对应的方法没有做太多的事情,只是把当前页面的索引值打印到日志中。我们在这里只列出了核心代码,完整的代码可以查看Github上
ex015文件中的代码。编译并且运行上面的程序就会得到一个可以滑动的页面,从左向右滑动页面时可以在三个页面之间进行切换,同时会在日志窗口中会打印出页面的
索引值。我们在这里就不演示程序运行效果了,建议大家自己动手去实践。
看官们,关于PageView Widget相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

《Memory Barriers a Hardware View for Software Hackers》阅读笔记

CPU 设计者引入内存屏障(memory barriers)是为了应对在多处理器系统(SMP)中,内存引用重排序可能导致的同步问题。尽管重排序可以提高性能,但在某些情况下(如同步原语),正…

网络编程-网络原理HTTP1

文章目录 HTTP请求/响应的基本结构认识URLURL是什么和基本格式关于encoding机制 认识方法(method)GET方法简介GET方法的特点POST方法简介POST方法的特点GET和POST的区别(经典面试题)关于GET和POST的补充说明Restful风格 上节主要是对http协议的一些最基本的概念做出一些说明, 然…

Facebook广告点击率CTR太低 如何优化

在投放Facebook广告的过程中,点击率CTR是一个衡量广告效果的重要指标,和广告质量、受众定位准确性、转化率等息息相关,因此,提升CTR是一个重要的广告优化流程。 一、什么是Facebook广告点击率,如何查看? C…

编写、应用中断例程

实验内容、程序清单及运行结果 编写、应用中断例程(课本实验13) 编写并安装int 7ch中断例程,功能为显示一个用0结束的字符串,中断例程安装在0:200处。 assume cs:code data segment db welcome to masm!,0 data ends code s…

WPF基础 | WPF 基础概念全解析:布局、控件与事件

WPF基础 | WPF 基础概念全解析:布局、控件与事件 一、前言二、WPF 布局系统2.1 布局的重要性与基本原理2.2 常见布局面板2.3 布局的测量与排列过程 三、WPF 控件3.1 控件概述与分类3.2 常见控件的属性、方法与事件3.3 自定义控件 四、WPF 事件4.1 路由事件概述4.2 事…

ssh密钥登录GitHub时一直提示“Error: Permission denied (publickey)”

起因 环境:Windows10 背景:之前就是按照官方说明创建个rsa密钥,在git后台添加上,就行了,近期怎么添加怎么失败,总是“Error: Permission denied (publickey)”的提示! 尝试 各种尝试&#xf…

ESP32S3基于espidf lvgl驱动i2c ssd1306/sh1106/7屏幕使用

ESP32S3基于espidf lvgl驱动i2c ssd1306/sh1106/7屏幕使用 🔖个人使用的espidf版本:V5.4,lvgl组件版本:8.3.0(可在idf_component.yml文件中看到) 对于 i2c ssd1306接口屏幕,可以直接使用自带的d…

C++ 复习总结记录十

C 复习总结记录十 主要内容 1、stack 介绍和使用 2、queue 介绍和使用 3、priority_queue 介绍和使用 4、容器适配器 一 stack 的介绍和使用 stack 文档介绍 1、 stack 是容器适配器,专用于后进先出的操作,只能从容器尾端进行元素插入和提取 2、…

ESP32服务器和PC客户端的Wi-Fi通信

ESP32客户端-服务器Wi-Fi通信 本指南将向您展示如何设置ESP32板作为服务端,PC作为客户端,通过HTTP通信,以通过Wi-Fi(无需路由器或互联网连接)交换数据。简而言之,您将学习如何使用HTTP请求将一个板的数据发…

激光雷达和相机早期融合

通过外参和内参的标定将激光雷达的点云投影到图像上。 • 传感器标定 首先需要对激光雷达和相机(用于获取 2D 图像)进行外参和内参标定。这是为了确定激光雷达坐标系和相机坐标系之间的转换关系,包括旋转和平移。通常采用棋盘格等标定工具&…

机器学习-核函数(Kernel Function)

核函数(Kernel Function)是一种数学函数,主要用于将数据映射到一个更高维的特征空间,以便于在这个新特征空间中更容易找到数据的结构或模式。核函数的主要作用是在不需要显式计算高维特征空间的情况下,通过内积操作来实…

【基于无线电的数据通信链】Link 11 仿真测试

〇、废话 Link 11 仿真测试 涉及多个方面,包括信号仿真、协议模拟、数据链路层的仿真以及网络性能评估等。Link 11 是一种基于 HF(高频) 或 UHF(超高频) 波段的无线通信协议,主要用于军事通信系统中。为了…

计算机图形学:实验四 带纹理的OBJ文件读取和显示

一、程序功能设计 在程序中读取带纹理的obj文件,载入相应的纹理图片文件,将带纹理的模型显示在程序窗口中。实现带纹理的OBJ文件读取与显示功能,具体设计如下: OBJ文件解析与数据存储 通过实现TriMesh类中的readObj函数&#x…

【PVE】Proxmox VE8.0+创建LXC容器安装docker

为了不影响PVE宿主机,通常使用套娃的形式安装Docker容器,再安装相关docker应用。首先在CT模板中创建 Linux 容器,推荐使用Debian。开启ssh登录,修改debian配置,安装docker 一、创建 LXC 容器 1、CT模板下载 点击“模…

如何为64位LabVIEW配置正确的驱动程序

在安装 64位 LabVIEW 后,确保驱动程序正确配置是关键。如果您首先安装了 32位 LabVIEW 和相关驱动,然后安装了 64位 LabVIEW,需要确保为 64位 LabVIEW 安装和配置适当的驱动程序,才能正常访问硬件设备。以下是详细步骤&#xff1a…

MVCC底层原理实现

MVCC的实现原理 了解实现原理之前,先理解下面几个组件的内容 1、 当前读和快照读 先普及一下什么是当前读和快照读。 当前读:读取数据的最新版本,并对数据进行加锁。 例如:insert、update、delete、select for update、 sele…

设计模式-建造者模式、原型模式

目录 建造者模式 定义 类图 优缺点 角色 建造者模式和工厂模式比较 使用案例 原型模式 定义 类图 优缺点 应用场景 应用类型 浅克隆 深克隆 建造者模式 定义 将一个复杂的对象的构造与它的表示分离,使同样的构建过程可以创建不同的表示,…

Midscene.js:重新定义UI自动化的新时代工具

前言 Midscene.js 是一个创新的、面向开发者的 UI 自动化解决方案,并通过人工智能技术简化自动化脚本的编写与维护。 它提供了三种核心方法——交互(.ai, .aiAction)、提取(.aiQuery)和断言(.aiAssert&am…

【落羽的落羽 数据结构篇】算法复杂度

文章目录 一、数据结构和算法简介二、算法复杂度1. 时间复杂度2. 空间复杂度 一、数据结构和算法简介 数据结构是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。没有一种单一的数据结构对所有用途都有用,所以我们要学…

如何使用tushare pro获取股票数据——附爬虫代码以及tushare积分获取方式

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据 总结 一、Tushare 介绍 Tushare 是一个提供中国股市数据的API接口服务,它允许用户…