Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
Tags
- changenotifier
- datetime
- 문법
- provider
- Camera
- globalkey
- controller
- consumer
- permission
- divider
- borderRadius
- setstate
- switch
- Stream
- enum
- changenotifierprovider
- transform
- platformexception
- multiprovider
- snackbar
- Navigator
- runTransaction
- Swift
- user
- reference
- ListView.builder
- Snapshot
- Firebase
- swift 문법
- signout
Archives
- Today
- Total
코딩하는 제리
[Flutter/Project](Instagram Clone) BottomNavigationBar 본문
Flutter/Project_InstaClone(완)
[Flutter/Project](Instagram Clone) BottomNavigationBar
JerryCho 2021. 1. 15. 18:56// main.dart
import 'package:flutter/material.dart';
import 'home_page.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: HomePage(),
);
}
}
// home_page.dart
import 'package:flutter/material.dart';
class HomePage extends StatefulWidget {
HomePage({
Key key,
}) : super(key: key);
@override
_HomePageState createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
List<BottomNavigationBarItem> btmNavItems = [
BottomNavigationBarItem(icon: Icon(Icons.home), label: ""),
BottomNavigationBarItem(icon: Icon(Icons.search), label: ""),
BottomNavigationBarItem(icon: Icon(Icons.add), label: ""),
BottomNavigationBarItem(icon: Icon(Icons.healing), label: ""),
BottomNavigationBarItem(icon: Icon(Icons.account_circle), label: ""),
];
// 바텀네비게이션 바의 인덱스
int _selectedIndex = 0;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Container(
color: Colors.amber,
),
bottomNavigationBar: BottomNavigationBar(
unselectedItemColor: Colors.grey,
selectedItemColor: Colors.black,
showSelectedLabels: false /* 레이블 비활성화 */,
items: btmNavItems /* List<BottomNavigationBarItem> 리스트 타입의 데이터 */,
currentIndex: _selectedIndex,
onTap: _onBtmItemClick,
),
);
}
void _onBtmItemClick(int index) {
setState(() {
// onTap으로 상태가 변경될 때 마다 setState로 상태를 새로 불러온다.
_selectedIndex = index;
});
}
}
'Flutter > Project_InstaClone(완)' 카테고리의 다른 글
[Flutter/Project](Instagram Clone) appBar 및 아이콘 (0) | 2021.01.16 |
---|---|
[Flutter/Project](Instagram Clone) ListView.builder() (0) | 2021.01.16 |
[Flutter/Project](Instagram Clone) theme: ThemeData() (0) | 2021.01.16 |
[Flutter/Project](Instagram Clone) 폰트 설치/적용 (0) | 2021.01.16 |
[Flutter/Project] 첫 플러터 앱 따라 만들기 (0) | 2021.01.12 |
Comments