小编cas*_*ang的帖子

滑动时向 PageView 添加新页面

我目前正在制作一个日历应用程序,我想向右或向左滑动以转到下个月或上个月。我通过最初设置一个包含 3 个项目的数组来使用 PageView,并且初始页面是第二个页面。我想向右滑动并在最后添加一个页面。我想向左滑动并在开头添加一个页面。目前,如果你向右走(在最后添加页面),效果很好。但是,如果您向左移动(在开头添加页面),则会出现一些奇怪的行为,并且根本不起作用。

我在下面粘贴了一个带有计数器的简单示例。我不确定我是否做得对,或者我的逻辑是否成立。任何人都可以让我知道这样做的正确方法吗?

import 'package:flutter/material.dart';

void main() => runApp(LimeApp());

class LimeApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Pageview Test',
      home: MainPage(),
    );
  }
}

int _lowerCount = -1;
int _upperCount = 1;

class MainPage extends StatelessWidget {
  final List<Widget> _pages = <Widget>[
    new Center(child: new Text("-1", style: new TextStyle(fontSize: 60.0))),
    new Center(child: new Text("0", style: new TextStyle(fontSize: 60.0))),
    new Center(child: new Text("1", style: new TextStyle(fontSize: 60.0)))
  ];

  @override
  Widget build(BuildContext context) {
    return …
Run Code Online (Sandbox Code Playgroud)

flutter

10
推荐指数
1
解决办法
4935
查看次数

Flutter - 状态小部件在切换选项卡时不保存计数器状态

我正在学习扑腾,我正在使用tabBars,我遇到了保存状态的问题.我在下面提出了一个小问题.基本上,有一个按钮和一个有状态的计数器.当我单击按钮时,我看到文本字段正确更新.但是,当我切换到另一个选项卡并返回时,文本字段将返回零.

我发现如果我在_CounterState之外移动以下行,使其在文件的顶层定义,那么,它可以正常工作.当我切换标签时,当我切换回时,计数器保持正确的计数

int _counter = 0;
Run Code Online (Sandbox Code Playgroud)

我觉得这不是这样做的合适方式,我看到的所有例子都在类中有变量.任何人都可以给我任何见解吗?如果它在课堂内,为什么会重置?我应该把它放在课外吗?以下是简化的完整示例.

import 'package:flutter/material.dart';

void main() {
  runApp(new TabBarDemo());
}

class TabBarDemo extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return new MaterialApp(
      home: new DefaultTabController(
        length: 3,
        child: new Scaffold(
          appBar: new AppBar(
            bottom: new TabBar(
              tabs: [
                new Tab(icon: new Icon(Icons.directions_car)),
                new Tab(icon: new Icon(Icons.directions_transit)),
                new Tab(icon: new Icon(Icons.directions_bike)),
              ],
            ),
            title: new Text('Tabs Demo'),
          ),
          body: new TabBarView(
            children: [
              new Counter(),
              new Icon(Icons.directions_transit),
              new Icon(Icons.directions_bike),
            ],
          ),
        ),
      ),
    );
  } …
Run Code Online (Sandbox Code Playgroud)

stateful dart flutter statefulwidget

3
推荐指数
2
解决办法
1871
查看次数

Flutter-使用通知向其他小部件发送消息

我想在StatefulWidget中使用flutter通知与另一个StatefulWidget小部件进行通信。我在下面发布了一个我认为应该正常工作的示例,但事实并非如此。当您单击“ +”图标按钮时,它应将通知发送到subPage小部件。当前,当您单击按钮时,似乎什么都没有发生。我希望可以执行onTitlePush()函数。这是我第一次尝试使用“通知”,而且我必须设置不正确。我在更大的应用程序中使用了此代码,但是下面的代码只是实现的示例。你能告诉我我哪里出问题了吗?

import 'package:flutter/material.dart';

void main() => runApp(TestApp());

class TestApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Notificaton Test',
      home: MainPage(),
    );
  }
}

class MyNotification extends Notification {
  final String title;

  const MyNotification({this.title});
}

class MainPage extends StatefulWidget {
  @override
  MainPageState createState() {
    return new MainPageState();
  }
}

class MainPageState extends State<MainPage> {

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Basic AppBar'),
          actions: <Widget>[
            // action button
            IconButton(
              icon: …
Run Code Online (Sandbox Code Playgroud)

dart flutter

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

标签 统计

flutter ×3

dart ×2

stateful ×1

statefulwidget ×1