Flutter: Bottom NavigationBar[EP: 2] with floating button.
หลังจากที่ EP1: ตรงนี้ เราได้ Bottom Navigation Bar ขึ้นมาใช้งานแล้ว เราจะลองมา implement เพิ่มในส่วนของ floating button กันดูคับ
Floating button คือ ปุ่มที่เสมือนลอยอยู่บน content ซึ่งปกติใน Scaffold จะมีให้ใช้งานในชื่อ Scaffold.floatingActionButton field.
ในที่นี้เราจะลองนำมาใช้ร่วมกับ bottomBar ซึ่งมีแนวทางในการใช้อยู่ 2 แบบคือ
- เพิ่มปุ่มให้อยู่เหนือ (above) แถบ navigation bar
คือ ด้านบนของ bottom bar แต่ไม่ซ้อนกัน - เพิ่มปุ่มให้ลอยอยู่บน (on top) แถบ navigation bar
ซึ่งซ้อนกันด้วย
ต่างกันยังไงเรามาดูเลยดีกว่า
จาก code ของ bottom navigation bar ครั้งก่อน ให้เราเพิ่มในส่วนของ floatingActionButton เข้าไป (ซึ่งเป็น attribute ของ Scaffold คับ)
floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,floatingActionButton: new FloatingActionButton(
onPressed: () {
_incrementTab(1);
},
tooltip: 'Increment',
child: new Icon(Icons.add),
),
จาก code ด้านบนจะเป็นการเพิ่ม float button เข้าไป เมื่อมีการกดก็จะเรียก function _incrementTab(1) โดยส่ง 1 เข้าไป หน้าตาของ ui จะเป็นแบบนี้
- FloatingActionButtonLocation.centerDocked
2. FloatingActionButtonLocation.centerFloat
3. FloatingActionButtonLocation.endDocked
4. FloatingActionButtonLocation.endFloat
5. FloatingActionButtonLocation.endTop
จริงๆแล้ว มี property ให้เราเลือกวางในตำแหน่งต่างๆได้อีกมาก
แล้วพบกันใหม่คับ