在抖动中重新装弹后要更新更改吗?

时间:2019-06-29 08:43:11

标签: android flutter dart

我正在重写代码,因为我必须看到一些更改,但是当我更改代码并“热重载”时,它不会反映在模拟器中。

每次我都需要完全重新启动应用程序

import 'package:flutter/material.dart';

Dialog leadDialog = Dialog(
  child: Container(
      color: Colors.white,
      child: Column(
        mainAxisAlignment: MainAxisAlignment.start,
        children: <Widget>[
          Padding(
            padding: EdgeInsets.all(15.0),
            child: Text(
              'Leaderboard',
              style: TextStyle(color: Colors.black, fontSize: 22.0),
            ),
          ),
          Divider(color: Colors.redAccent),
          Row(crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[
            Padding(
              padding: EdgeInsets.all(15.0),
              child: CircleAvatar(
                  radius: 30.0,
                  backgroundImage: ExactAssetImage('assets/cat.jpg')),
            ),
            Text('Neha'),
            RaisedButton(
              padding: EdgeInsets.symmetric(horizontal: 30.0, vertical: 15.0),
              textColor: Colors.black,
              child: Text(
                '546',
                style: TextStyle(),
              ),
              shape: RoundedRectangleBorder(
                  borderRadius: BorderRadius.circular(10.0)),
            ),
          ])
        ],
      )),
);

预期:在热加载时,我应该能够看到更改。

2 个答案:

答案 0 :(得分:1)

如果将窗口小部件存储在WidgetLifeCycle外部的变量中,则可能不会呈现每个状态更改。 也许使您的小部件成为一个构建器方法,该方法将在其父项每次渲染时进行渲染。

还阅读了FlutterByExample - Widget LifecycleFlutter Docs Widget Intro

WidgetBuilder leadDialog = (BuildContext context) => Dialog();

答案 1 :(得分:0)

我遇到了同样的问题。以下步骤对我有用

  • 停止应用
  • 从设备/仿真器中卸载
  • 运行flutter clean
  • 重新运行应用