如何将应用栏添加到StatelessWidget?

时间:2020-11-12 13:50:04

标签: android android-studio flutter

当我尝试添加此应用栏时,它给我一个错误。错误是:断言失败:行4345 pos 14:'owner._debugCurrentBuildTarget == this':不正确。

appBar: new AppBar(
  title: new Text("Appbar"),
  actions: <Widget>[
    Padding(
      padding: const EdgeInsets.only(right: 20.0),
      child: Icon(Icons.search),
    ),
  ],
  backgroundColor: Colors.grey,
),

如何将“上方”应用栏添加到以下代码中?

class StatisticsPage extends StatelessWidget{
  @override
  Widget build(BuildContext context){
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      title: "Welcome to Flutter",
      home: Statistics(),
    );
  }
}
class Statistics extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Material(
      child:new Container(
        padding: const EdgeInsets.all(30.0),
        color: Colors.white,     
 ...

1 个答案:

答案 0 :(得分:0)

appBar属性位于Scaffold()小部件中。您正在尝试在无法使用的版本中调用appBar

class Statistics extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Material(
        child: Scaffold(
      appBar: AppBar(
        title: Text("Appbar"),
        actions: <Widget>[
          Padding(
            padding: const EdgeInsets.only(right: 20.0),
            child: Icon(Icons.search),
          ),
        ],
        backgroundColor: Colors.grey,
      ),
      body: Container(
        padding: const EdgeInsets.all(30.0),
        color: Colors.white,
      ),
    ));
  }
}

您似乎对Flutter还是陌生的,或者您只是从旧仓库中粘贴代码。

自Dart 2.0起,不再需要使用new关键字。 先学习Dart,再学习Flutter,您可以从Youtube教程开始。