第二十五回:PageView Widget

文章介绍了Flutter的PageViewWidget,它用于实现左右或上下滑动展示不同页面的效果。PageView包含如scrollDirection、children和onPageChanged等属性,其中scrollDirection控制滑动方向,children存放页面内容,onPageChanged在页面切换时触发。示例代码展示了如何创建并配置一个包含三个页面的PageView。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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

概念介绍

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

使用方法

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

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

示例代码

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相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

talk_8

真诚赞赏,手有余香

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值