navigation_rail
Flutter 的導航欄
- 星標
- 49
- 分支
- 12
- 最近推送(UTC)
- 2023年3月4日
- 專案狀態
- 未封存
原始 README
以下為英文專案原文快照,最新內容請造訪 GitHub。
navigation_rail
An example of how to use the navigation rail.
Material Spec: https://material.io/components/navigation-rail/
Demo: https://rodydavis.github.io/navigation_rail/
Example
import 'package:flutter/material.dart';
import 'package:navigation_rail/navigation_rail.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
debugShowCheckedModeBanner: false,
title: 'NavigationRail Demo',
theme: _theme(ThemeData.light().copyWith(
accentColor: Colors.red,
)),
home: MyHomePage(title: 'Navigation Rail Demo'),
);
}
ThemeData _theme(ThemeData base) {
return ThemeData(
primarySwatch: Colors.blue,
appBarTheme: base.appBarTheme.copyWith(elevation: 0.0),
floatingActionButtonTheme: base.floatingActionButtonTheme.copyWith(
elevation: 2.0,
backgroundColor: base.accentColor,
),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
int _currentIndex = 0;
@override
Widget build(BuildContext context) {
return NavRail(
drawerHeaderBuilder: (context) {
return Column(
children: <Widget>[
UserAccountsDrawerHeader(
accountName: Text("Steve Jobs"),
accountEmail: Text("jobs@apple.com"),
),
],
);
},
drawerFooterBuilder: (context) {
return Column(
children: <Widget>[
ListTile(
leading: Icon(Icons.settings),
title: Text("Settings"),
),
ListTile(
leading: Icon(Icons.info_outline),
title: Text("About"),
),
],
);
},
currentIndex: _currentIndex,
onTap: (val) {
if (mounted)
setState(() {
_currentIndex = val;
});
},
title: Text(widget.title),
body: IndexedStack(
index: _currentIndex,
children: <Widget>[
Container(color: Colors.blue[300]),
Container(color: Colors.red[300]),
Container(color: Colors.purple[300]),
Container(color: Colors.grey[300]),
],
),
floatingActionButton: FloatingActionButton(
onPressed: () {},
tooltip: 'Increment',
child: Icon(Icons.add),
),
tabs: <BottomNavigationBarItem>[
BottomNavigationBarItem(
title: Text("Folders"),
icon: Icon(Icons.folder),
),
BottomNavigationBarItem(
title: Text("History"),
icon: Icon(Icons.history),
),
BottomNavigationBarItem(
title: Text("Gallery"),
icon: Icon(Icons.photo_library),
),
BottomNavigationBarItem(
title: Text("Camera"),
icon: Icon(Icons.camera),
),
],
);
}
}
語言DartSwiftHTMLKotlinObjective-C
使用的依賴
依賴清單 2 項
- flutter
{"sdk":"flutter"} - flutter_test開發依賴
{"sdk":"flutter"}
如何選擇適合專案的儲存庫?
先依使用情境篩選,再比較專案活躍情況,最後到原始儲存庫確認使用要求。
- 透過儲存庫名稱、作者或描述搜尋,再依技術分類縮小範圍。
- 綜合星標、分支與最近推送比較專案;星標反映社群關注,不保證品質。
- 使用前在 GitHub 確認 README、授權條款與 Issues。
來源與維護
“A repository is the most basic element of GitHub.”
GitHub Docs — About repositories ↗