본문 바로가기

코딩/플러터

플러터 - Status bar만 남기고 App bar는 지우기

Appbar를 지우려고 

    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: new AppBar(), 
        body: Center(
          child: Text("Hi"),
        )),
    );

이런 코드에서 appbar만 지우면

쓸대없게도 status bar도 같이 사라진다.

 

이럴땐, 

        primary: true,
        appBar: EmptyAppBar(), 
        body: Center(
          child: Text("Hi"),
        ));

이런식으로 EmptyAppBar를 넣어주고,

class EmptyAppBar extends StatelessWidget implements PreferredSizeWidget {
  @override
  Widget build(BuildContext context) {
    return Container();
  }

  @override
  Size get preferredSize => Size(0.0, 0.0);
}

이런 EmptyAppBar를 커스텀해서 만들어주면 된다.

이렇게 하면 사이즈가 0인 Appbar가 들어가게 되고, status bar는 살아있게 된다.

 

덤으로,

    CupertinoPageScaffold(
      child: SafeArea(
        child: Center(
          child: MainWebViewWidget(),
        ),
      ),
    );

Scaffold 대신에 이런 Cupertino 디자인으로도 가능하다