<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
本文範例為大家分享了Flutter Drawer抽屜選單範例程式碼,供大家參考,具體內容如下
1.原始碼檢視
const Drawer({ Key? key, this.elevation = 16.0, //陰影效果大小 this.child, //內容元素 this.semanticLabel, //關閉/開啟抽屜時的通知資訊 })
1.選單項,使用 ListTile 實現
Expanded( child: ListView( children: <Widget>[ ListTile( leading: const Icon(Icons.person), title: const Text('Personal'), ), ListTile( leading: const Icon(Icons.message), title: const Text('information'), ), ListTile( leading: const Icon(Icons.settings), title: const Text('about'), ), ], ), ),
2.底部導航欄,使用BottomNavigationBar實現
bottomNavigationBar: BottomNavigationBar( currentIndex: currentIndex, type: BottomNavigationBarType.fixed, unselectedItemColor: Colors.grey, selectedItemColor: Colors.blue, /*unselectedLabelStyle:TextStyle( color: Colors.black ),*/ items: [ BottomNavigationBarItem( icon: Icon(Icons.home), label: "首頁", //backgroundColor:Colors.blue ), BottomNavigationBarItem( icon: Icon(Icons.person), label: "通訊錄", //backgroundColor:Colors.blue ), BottomNavigationBarItem( icon: Icon(Icons.find_in_page), label: "發現", //backgroundColor:Colors.blue ), BottomNavigationBarItem( icon: Icon(Icons.flip_outlined), label: "我的", //backgroundColor:Colors.blue ), ], onTap: (index){ setState(() { print("the index is :$index"); currentIndex=index; }); }, ),
參考:flutter底部導航欄
3.懸浮按鈕,使用FloatingActionButton實現
floatingActionButton: FloatingActionButton( //懸浮按鈕 child: Icon(Icons.add), onPressed:_onAddNum ),
1.mydrawer.dart
import 'package:flutter/material.dart'; class MyDrawer extends StatelessWidget { const MyDrawer({ Key? key, }) : super(key: key); @override Widget build(BuildContext context) { return Drawer( elevation: 30, child: MediaQuery.removePadding( context: context, //移除抽屜選單頂部預設的空白 removeTop: true, child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: <Widget>[ Padding( padding: const EdgeInsets.only(top: 30.0), child: Row( children: <Widget>[ Padding( padding: const EdgeInsets.symmetric(horizontal: 15.0), child: ClipOval( child: Image.asset( "images/cc.png", width: 60, ), ), ), Text( "jon", style: TextStyle(fontWeight: FontWeight.bold), ) ], ), ), Expanded( child: ListView( children: <Widget>[ ListTile( leading: const Icon(Icons.person), title: const Text('Personal'), ), ListTile( leading: const Icon(Icons.message), title: const Text('information'), ), ListTile( leading: const Icon(Icons.settings), title: const Text('about'), ), ], ), ), ], ), ), ); } }
2.MainPage.dart
import 'package:flutter/material.dart'; import 'findpage.dart'; import 'mypage.dart'; import 'contactpage.dart'; import 'homepage.dart'; import 'mydrawer.dart'; class MainPage extends StatefulWidget{ const MainPage({Key? key}) : super(key: key); @override State<StatefulWidget> createState()=>_MainPageState(); } class _MainPageState extends State<MainPage>{ var allPages=[HomePage(),ContactPage(),FindPage(),MyPage()]; var currentIndex=0; @override Widget build(BuildContext context) { return Scaffold( appBar: AppBar( //導航欄 title: Text("App Name"), actions: <Widget>[ //導航欄右側分享選單 IconButton(icon: Icon(Icons.share), onPressed: () {}), ], ), drawer: MyDrawer(), //選單抽屜 body: allPages[currentIndex], backgroundColor: Colors.green, bottomNavigationBar: BottomNavigationBar( currentIndex: currentIndex, type: BottomNavigationBarType.fixed, unselectedItemColor: Colors.grey, selectedItemColor: Colors.blue, /*unselectedLabelStyle:TextStyle( color: Colors.black ),*/ items: [ BottomNavigationBarItem( icon: Icon(Icons.home), label: "首頁", //backgroundColor:Colors.blue ), BottomNavigationBarItem( icon: Icon(Icons.person), label: "通訊錄", //backgroundColor:Colors.blue ), BottomNavigationBarItem( icon: Icon(Icons.find_in_page), label: "發現", //backgroundColor:Colors.blue ), BottomNavigationBarItem( icon: Icon(Icons.flip_outlined), label: "我的", //backgroundColor:Colors.blue ), ], onTap: (index){ setState(() { print("the index is :$index"); currentIndex=index; }); }, ), floatingActionButton: FloatingActionButton( //懸浮按鈕 child: Icon(Icons.add), onPressed:_onAddNum ), ); } void _onAddNum(){ } }
3.效果
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援it145.com。
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45