小部件在Android Studio中不起作用

时间:2019-10-24 11:37:34

标签: flutter

导入'package:flutter / material.dart'; 导入'package:project / widget / widget.dart';

class ThreeWidget extends StatelessWidget {

  void onBabLogoPressed(BuildContext context) => Navigator.push(context, MaterialPageRoute(builder: (context) => Widget()));

  @override
  Widget build(BuildContext context) {

    return Scaffold(
      body: Container(
        constraints: BoxConstraints.expand(),
        decoration: BoxDecoration(
          color: Color.fromARGB(255, 232, 232, 232),
        ),
        child: Column(
          crossAxisAlignment: CrossAxisAlignment.start,
          children: [
            Container(
              width: 331,
              height: 99,
              margin: EdgeInsets.only(left: 31, top: 326),
              child: FlatButton(
                onPressed: () => this.onBabLogoPressed(context),
                color: Colors.transparent,
                textColor: Color.fromARGB(255, 0, 0, 0),
                padding: EdgeInsets.all(0),
                child: Text("",),
              ),
            ),
          ],
        ),
      ),
    );
  }
}

Widget不是函数

1 个答案:

答案 0 :(得分:0)

您正在使用

Navigator.push(context, MaterialPageRoute(builder: (context) => Widget()))

这是不正确的,因为您不能像这样实例化窗口小部件。您需要做的就是创建一个Stateful/Stateless小部件并在此处使用它,例如,您可以创建一个新的小部件,例如:

class MyNewWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(...);
  }
}

现在您可以使用

Navigator.push(context, MaterialPageRoute(builder: (context) => MyNewWidget()))