简介

PageView 是 Flutter 中用于创建页面切换效果的小部件之一。它通常用于创建水平滑动的页面,例如图片浏览器、轮播图、引导页等。PageView 可以包含多个子页面(也称为“页面”),用户可以通过左右滑动手势来切换这些页面。

一般用法

以下是 PageView 的一般用法:

PageView(
  children: <Widget>[
    // 添加多个子页面
    // 例如:Page 1, Page 2, Page 3
  ],
)

重要属性和方法介绍

PageView 的重要属性和方法:

  • children:这是一个包含多个子组件的列表,每个子组件代表一个页面。您可以在这里添加任意数量的子页面。

  • controller(可选):如果需要手动控制 PageView 的切换,可以提供一个 PageController 对象,并在需要时使用它来切换页面。

  • scrollDirection(可选):指定滚动方向,可以是 Axis.horizontal(水平滚动,默认值)或 Axis.vertical(垂直滚动)。

  • 其他属性:还有一些其他属性,例如 onPageChanged 回调,可以在页面切换时执行自定义操作。

举例

下面是一个使用 PageView 的示例场景:

假设您正在创建一个图片浏览器应用,用户可以在应用中查看多张图片,通过滑动手势进行切换。您可以使用 PageView 来实现这个功能。

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  final List<String> imageUrls = [
    'image1.jpg',
    'image2.jpg',
    'image3.jpg',
  ];

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Image Viewer'),
        ),
        body: PageView.builder(
          itemCount: imageUrls.length,
          itemBuilder: (BuildContext context, int index) {
            return Image.asset(
              imageUrls[index],
              fit: BoxFit.cover,
            );
          },
        ),
      ),
    );
  }
}

在这个示例中,我们创建了一个简单的图片浏览器应用。PageView.builder 接受一个 itemBuilder 回调,该回调在每个页面切换时构建页面内容。图片的 URL 存储在 imageUrls 列表中,我们通过 Image.asset 将图片加载到每个页面上。

用户可以通过左右滑动手势来浏览不同的图片。这是 PageView 的一个常见用法示例,它允许您创建具有水平滑动切换效果的页面。