Open3
FlutterでDrawerがシステムバーとだけ被らないようにする
ピン留めされたアイテム
結論としては、SafeArea
でbottom:
をfalse
にしておけば、システムバー部分にだけSafeArea
が適用される。
drawer: SafeArea(
bottom: false,
child: Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: [
// DrawerHeader(child: Text('')),
ListTile(
leading: const Icon(Icons.inbox_rounded),
title: const Text('インボックス'),
onTap: () {},
),
ListTile(
leading: const Icon(Icons.event_rounded),
title: const Text('近日予定'),
onTap: () {},
)
],
),
),
SafeArea
無しでDrawer
を使うと、iPhoneX等でシステムバー内要素(現時刻やバッテリー)とDrawer
内要素が被ってしまう。
Drawer(
child: ListView(
padding: EdgeInsets.zero,
children: [
// DrawerHeader(child: Text('')),
ListTile(
leading: const Icon(Icons.inbox_rounded),
title: const Text('インボックス'),
onTap: () {},
),
ListTile(
leading: const Icon(Icons.event_rounded),
title: const Text('近日予定'),
onTap: () {},
)
],
),
),
かといってSafeArea
で囲むと、次のようにDrawer
下部まで切り取ってしまう。