-
화면 전환시 TabBarView(커스텀 탭바)위치 시각 효과프로그래밍 공부 메모/flutter 2022. 12. 4. 17:20
탭으로 화면 전환 시 현재 어느 위치에 있는지 작은 아이콘으로 시각 효과 주기
//! TabPageSelector import 'package:flutter/material.dart'; List<Widget> widgets = const [ Icon(Icons.home), Icon(Icons.settings), Icon(Icons.person), ]; class Widget198 extends StatefulWidget { const Widget198({Key? key}) : super(key: key); @override State<Widget198> createState() => _Widget198State(); } class _Widget198State extends State<Widget198> with SingleTickerProviderStateMixin { late final TabController controller; int _index = 0; @override void initState() { super.initState(); controller = TabController( length: widgets.length, initialIndex: _index, vsync: this, ); } @override void dispose() { controller.dispose(); super.dispose(); } @override Widget build(BuildContext context) { return Scaffold( body: Stack( alignment: Alignment.center, children: <Widget>[ TabBarView( controller: controller, children: widgets, ), Positioned( bottom: 40, child: TabPageSelector( controller: controller, color: Colors.black38, ), ), ], ), floatingActionButton: ButtonBar( children: [ FloatingActionButton.small( onPressed: () { (_index != widgets.length - 1) ? _index++ : _index = 0; controller.animateTo(_index); setState(() {}); }, child: const Icon(Icons.navigate_next), hoverElevation: 0, elevation: 0, ) ], ), ); } }
반응형'프로그래밍 공부 메모 > flutter' 카테고리의 다른 글
string 문자열 관련 메소드 (0) 2022.12.05 automaticallyImplyLeading(AppBar), pushReplacementNamed(Navigator) 뒤로 가기 차이점 (0) 2022.12.04 Dismissible 위젯(좌우, 위아래로 밀거나 당길 경우의 액션) (0) 2022.11.30 as (형 변환 / 접두사 지정), show 활용하기 (0) 2022.11.30 유용한 위젯(chip / badges) (0) 2022.11.29