【问题标题】:how do i insert a drawer in here?我如何在这里插入一个抽屉?
【发布时间】:2020-06-20 22:05:54
【问题描述】:

我想在这里放一个抽屉,但一直出错。我已在错误所在的位置发表评论。请检查并帮助我。

import 'package:flutter/material.dart';
import 'package:flutter/rendering.dart';

AppBar appBar(String name) {

  return AppBar(
    leading: Text(""),
    title: Text(
      name,
      style: TextStyle(color: Colors.blue),
    ),
    // centerTitle: true,
    
    elevation: 0,
    backgroundColor: Colors.transparent,
    
    actions: <Widget>[
      IconButton(
          icon: Icon(
            Icons.notification_important,
            color: Colors.blue,
          ),
          onPressed: () {}),
      
    ],
 );
}

class Drawer extends StatefulWidget {
  @override
  _DrawerState createState() => _DrawerState ();
}


class _DrawerState extends State <Drawer> {

@override

Widget build(BuildContext context) {

    return Scaffold(
      

      drawer: new Drawer (

我在此处收到一条错误消息,指出:未定义命名参数“child”。 尝试将名称更正为现有命名参数的名称,或使用名称“child”定义命名参数。我可以请我帮忙解决这个问题吗?

              child: <Widget>[

                ListView(
                
                  children : <Widget>[

                    ListTile(

                      onTap: (){},
                      leading: Icon(Icons.arrow_back),
                      title: Text("Back"),
  
                    ),

                    ListTile(

                      onTap: (){},
                      leading: Icon(Icons.home),
                      title: Text("Home"),
                    ),

                    ListTile(

                      onTap: (){},
                      leading: Icon(Icons.settings),
                      title: Text("Settings"),
                    ),


                     ListTile(

                      onTap: (){},
                      leading: Icon(Icons.mood_bad),
                      title: Text("Logout"),
                    ),
            ]
          ),
        ],               

      ),

     
    );
  }


}

【问题讨论】:

    标签: flutter dart drawer


    【解决方案1】:

    child 可以是 Widget 而不是 List&lt;Widget&gt; 并且也可以将类重命名为不使用 Drawer 的其他名称。

    drawer: Drawer(
            child: ListView(
              children: [
                ListTile(
                  onTap: () {},
                  leading: Icon(Icons.arrow_back),
                  title: Text("Back"),
                ),
                ListTile(
                  onTap: () {},
                  leading: Icon(Icons.home),
                  title: Text("Home"),
                ),
                ListTile(
                  onTap: () {},
                  leading: Icon(Icons.settings),
                  title: Text("Settings"),
                ),
                ListTile(
                  onTap: () {},
                  leading: Icon(Icons.mood_bad),
                  title: Text("Logout"),
                ),
              ],
            ),
          ),
    

    希望这能解决您的问题

    【讨论】:

      【解决方案2】:

      您将类命名为“Drawer”,它会覆盖默认类。只需将您的课程更改为“MyDrawer”即可。

      你需要一个小部件而不是小部件列表,但我相信你能解决这个问题。

      【讨论】:

        猜你喜欢
        • 2020-12-26
        • 2020-09-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-03-26
        • 1970-01-01
        • 2021-12-30
        相关资源
        最近更新 更多