📱 Mobile/Flutter

Flutter 기본 개념 - 인스타그램 클론 코딩

한국의 메타몽 2020. 10. 4. 22:56

 

  • Tab bar를 만들자
import 'package:flutter/material.dart';

class TabPage extends StatefulWidget {
  @override
  _TabPageState createState() => _TabPageState();
}

class _TabPageState extends State<TabPage> {
  int _selectedIndex = 0;
  List _pages = [
    Text('page1'),
    Text('page2'),
    Text('page3'),
  ];
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(child: _pages[_selectedIndex]),
      bottomNavigationBar: BottomNavigationBar(
          onTap: _onItemTapped,
          currentIndex: _selectedIndex,
          items: <BottomNavigationBarItem>[
            BottomNavigationBarItem(icon: Icon(Icons.home), label: 'Home'),
            BottomNavigationBarItem(icon: Icon(Icons.search), label: 'Search'),
            BottomNavigationBarItem(
                icon: Icon(Icons.account_circle), label: 'Account'),
          ]),
    );
  }

  void _onItemTapped(int index) {
    setState(() {
      _selectedIndex = index;
    });
  }
}

선택된 버튼에따라 화면의 내용이 변화한다.

 

SafeArea : 아이폰의 기종에따라 화면 사이즈에 최적화 되지 못하는 경우가 있다. 이를 방지하기 위해 SafeArea를 설정한다.

 

'📱 Mobile > Flutter' 카테고리의 다른 글

Meterial 디자인 vs Cupertino 디자인  (0) 2020.10.04
Flutter 기본 개념 - 1  (0) 2020.10.04
Flutter 로그인 창 화면 구현  (0) 2020.09.24