首页 > 解决方案 > 未定义flutter中的InteractiveViewer类

问题描述

我从这里阅读了有关 InteractiveViewer 的信息https://api.flutter.dev/flutter/widgets/InteractiveViewer-class.html

但是当我尝试在我的代码中使用 InteractiveViewer 它给了我一个错误:-

The method 'InteractiveViewer' isn't defined for the type 'MyHomeState'.
Try correcting the name to the name of an existing method, or defining a method named 
'InteractiveViewer'.dartundefined_method

我的颤振代码如下:-

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  static const String _title = "InteractiveViewer Sample";

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: _title,
      home: Scaffold(
        appBar: AppBar(
          title: const Text(_title),
        ),
        body: MystateLessWidget(),
      ),
    );
  }
}

class MystateLessWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Center(child: MyHome());
  }
}

class MyHome extends StatefulWidget {
  @override
  State<StatefulWidget> createState() {
    return MyHomeState();
  }
}

class MyHomeState extends State<MyHome> {
  @override
  Widget build(BuildContext context) {
    return Center(
      child: InteractiveViewer(
        boundaryMargin: EdgeInsets.all(20.0),
        minScale: 0.1,
        maxScale: 1.6,
        child: Container(
          decoration: BoxDecoration(
            gradient: LinearGradient(
              begin: Alignment.topCenter,
              end: Alignment.bottomCenter,
              colors: <Color>[Colors.orange, Colors.red],
              stops: <double>[0.0, 1.0],
            ),
          ),
        ),
      ),
    );
  }
}

我的颤振版本是Flutter 1.17.5 ,飞镖版本是 Dart 2.8.4

你能告诉我这里有什么问题吗?

标签: flutter

解决方案


问题是您使用的是旧版本的颤振。

InteractiveViewer 发布于1.20 version of Flutter

所以你需要升级你的颤振,要升级你可以在命令提示符中使用以下命令:-

flutter upgrade 

此命令获取当前 Flutter 频道上可用的最新版本的 Flutter SDK。


推荐阅读