我正在虚拟和物理设备上测试我的颤振起动机应用程序。问题是,该应用程序在热重加载时不会在屏幕上更新(这被配置为适用于每个文件保存),而是只在热重新启动时才更新。在截图中,这对应于右边的按钮,而不是左边的按钮。
这是正常还是出了什么问题?

以防万一,这是我的main.dart文件的内容:
import 'package:flutter/material.dart';
void main() {
runApp(
MaterialApp(
home: Scaffold(
backgroundColor: Colors.blueGrey,
appBar: AppBar(
title: Center(
child: Text('Hi Everybody!'),
),
backgroundColor: Colors.blueGrey[900],
),
body: Center(
child: Image(
image: AssetImage(
'images/diamond.png',
),
),
),
),
),
);
}发布于 2020-03-28 11:37:05
您正在编写主函数中的所有内容。所以热装不起作用了。
他们在颤振文件中提到了这一点
通常情况下,如果修改后的代码位于根小部件构建方法的下游,那么热重加载就会像预期的那样运行。但是,如果修改后的代码不会因为重新构建小部件树而被重新执行,那么在热重新加载之后您将不会看到它的效果。
因此,您需要在root小部件下面编写代码。
编写如下代码:
import 'package:flutter/material.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.blueGrey,
appBar: AppBar(
title: Center(
child: Text('Hi Everybody!'),
),
backgroundColor: Colors.blueGrey[900],
),
body: Center(
child: Image(
image: AssetImage(
'images/diamond.png',
),
),
),
),
);
}
}https://stackoverflow.com/questions/60900476
复制相似问题