Custom AppBar Flutter

前端 未结 3 1904
不思量自难忘°
不思量自难忘° 2020-12-13 22:35

Im trying to achieve something like the following,

I\'m very new to flutter so I couldn\'t figure it out. I need a custom AppBar with drawer and actions but arrang

3条回答
  •  庸人自扰
    2020-12-13 23:26

    As I mentioned in the comment , you can create a Custom widget like your Image attached, there are many ways to do it, this is just an example :

        class CustomBarWidget extends StatelessWidget {
    
          GlobalKey _scaffoldKey = GlobalKey();
    
          @override
          Widget build(BuildContext context) {
            return Scaffold(
              key: _scaffoldKey,
              body: Container(
                height: 160.0,
                child: Stack(
                  children: [
                    Container(
                      color: Colors.red,
                      width: MediaQuery.of(context).size.width,
                      height: 100.0,
                      child: Center(
                        child: Text(
                          "Home",
                          style: TextStyle(color: Colors.white, fontSize: 18.0),
                        ),
                      ),
                    ),
                    Positioned(
                      top: 80.0,
                      left: 0.0,
                      right: 0.0,
                      child: Container(
                        padding: EdgeInsets.symmetric(horizontal: 20.0),
                        child: DecoratedBox(
                          decoration: BoxDecoration(
                              borderRadius: BorderRadius.circular(1.0),
                              border: Border.all(
                                  color: Colors.grey.withOpacity(0.5), width: 1.0),
                              color: Colors.white),
                          child: Row(
                            children: [
                              IconButton(
                                icon: Icon(
                                  Icons.menu,
                                  color: Colors.red,
                                ),
                                onPressed: () {
                                  print("your menu action here");
                                  _scaffoldKey.currentState.openDrawer();
                                },
                              ),
                              Expanded(
                                child: TextField(
                                  decoration: InputDecoration(
                                    hintText: "Search",
                                  ),
                                ),
                              ),
                              IconButton(
                                icon: Icon(
                                  Icons.search,
                                  color: Colors.red,
                                ),
                                onPressed: () {
                                  print("your menu action here");
                                },
                              ),
                              IconButton(
                                icon: Icon(
                                  Icons.notifications,
                                  color: Colors.red,
                                ),
                                onPressed: () {
                                  print("your menu action here");
                                },
                              ),
                            ],
                          ),
                        ),
                      ),
                    )
                  ],
                ),
              ),
            );
          }
        }
    

    For more information, I wrote an article about how we can customize the AppBar : https://medium.com/flutter-community/flutter-increase-the-power-of-your-appbar-sliverappbar-c4f67c4e076f

提交回复
热议问题