简体   繁体   中英

Why it shows two AppBars after adding 'Sliver AppBar' in flutter App

I have added 'Sliver AppBar' into Scaffold of my app and I am wondering why it shows two app bars now. The Scaffold contains only one drawer but in UI, it shows two drawers. Anybody know what is going wrong.

return Scaffold(
  body: CustomScrollView(
    slivers: <Widget>[
      SliverAppBar(
        bottom: AppBar(
          title: SizedBox(
            height: 45,
            child: TextField(
              decoration: InputDecoration(
                contentPadding: EdgeInsets.only(top: 5, left: 15),
                suffixIcon: IconButton(
                  icon: Icon(Icons.search),
                  onPressed: () {
                  },
                ),
                filled: true,
                fillColor: Colors.white,
                hintText: "What are you looking for ?",
                border: OutlineInputBorder(
                  borderRadius: BorderRadius.circular(5),
                ),
              ),
            ),
          ),
          
        ),
      ),
      
  drawer: Drawer(),
  
);

在此处输入图像描述

After removing SliverAppBar from the code, it shows blank screen. So, it is confirmed that the two AppBars are coming from above code only.

在此处输入图像描述

SliverAppBar itself a appBar and bottom: AppBar is another one, you can use PreferredSize on bottom .

SliverAppBar(
  bottom: PreferredSize(
    preferredSize: Size.fromHeight(45),
    child: TextField(

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM