小编Jin*_*Kim的帖子

我可以在其他小部件的 PageView 小部件中使用“索引”吗?

我正在制作一个分为两个部分的应用程序:一个(上部)是PageView小部件区域,另一个(下部)是Container小部件区域。当我更改上半部分的页面时,我希望下半部分显示“我们在 X 页面”。

我尝试index在容器小部件中使用 PageView 小部件,但控制台显示“未定义名称‘索引’”。所以我将 like 声明int index;为全局变量,并再次尝试,但它不起作用。我认为这与PageView 小部件index不同。index

import 'package:flutter/material.dart';

class HomePage extends StatefulWidget {
  @override
  _HomePageState createState() => _HomePageState();
}

class _HomePageState extends State<HomePage> {
  static final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
  final controller = PageController(initialPage: 0);
  var scrollDirection = Axis.horizontal;
  var actionIcon = Icons.swap_vert;
  int index;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      key: _scaffoldKey,
      appBar: AppBar(
        centerTitle: true,
        title: Text('it\'s a drill for page view'), …
Run Code Online (Sandbox Code Playgroud)

pageviews dart flutter

4
推荐指数
1
解决办法
9498
查看次数

Flutter 如何控制两个部分之间的时间延迟?

我正在制作一个由两个部分组成的应用程序。一个是 PageView 部分,您可以通过滑动动作更改页面。另一个显示您在更改页面后现在所在的页面。但是有时间延迟。当我将第一页更改为第二页时,下部的更改会延迟大约 0.5 秒。

为了找到任何原因,我将 index 声明为 double(现在重新声明为 int)。我发现当我在第一部分 PageView 中更改页面时,下部显示十进制更改(ig 不是 1 -> 2,而是 1.0 -> 1.xxx -> 2)。我还尝试了 Switch-case 语句。在这个语句中,默认是返回 Text('nothing')。而且我发现在改的时候,下半部分什么都没显示。

    import 'package:flutter/material.dart';

    class HomePage extends StatefulWidget {
      @override
      _HomePageState createState() => _HomePageState();
    }

    class _HomePageState extends State<HomePage> {
      static final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
      final controller = PageController(initialPage: 0);
      var scrollDirection = Axis.horizontal;
      var actionIcon = Icons.swap_vert;
      int index;

      @override
      void initState() {
        super.initState();
        index = 0;
        controller.addListener(() {
          setState(() {
            index = controller.page.toInt();
          });
        }); …
Run Code Online (Sandbox Code Playgroud)

delay dart flutter

3
推荐指数
1
解决办法
930
查看次数

当我点击PageView中的按钮时,如何跳转到该页面?

在chapter.dart中制作了一个由6个页面组成的PageView。每个页面都有一个文本小部件,每个小部件都包含一个动物名称:按顺序排列为老虎、狮子、猴子、马、鸡和狗。我在 main.dart 中制作了 3 个按钮。我只是希望当我按下第一个按钮时,我进入页面[0](老虎页面),当我按下第二个按钮时,我进入页面[2](猴子页面),当我按下第三个按钮时,我进入到第[4]页(鸡页)。但我完全不知道。我想一定有办法解决这个问题,但我找不到。

我用谷歌搜索了它,并在这个网站上搜索了它,但我找不到它。

import 'package:flutter/material.dart';

List<String> animal = ['tiger', 'lion', 'monkey', 'horse', 'chicken', 'dog'];

class Chapter extends StatefulWidget {
  @override
  _ChapterState createState() => _ChapterState();
}

class _ChapterState extends State<Chapter> {
  // int currentPage;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
        appBar: AppBar(
          title: Text('Chapter Page'),
        ),
        body: PageView.builder(
          itemCount: animal.length,
          itemBuilder: (context, index) {
            return Center(child: Text('${animal[index]} page'));
          },
        ));
  }
}
Run Code Online (Sandbox Code Playgroud)

一些参考资料会很好。先感谢您。

dart flutter

3
推荐指数
1
解决办法
1万
查看次数

标签 统计

dart ×3

flutter ×3

delay ×1

pageviews ×1