[flutter] 스크롤바를 사용하여 탭 바 구현하기
앱에서 여러 개의 탭을 표시하고 싶을 때, 탭 간의 전환을 편리하게 할 수 있는 탭 바를 사용하는 것이 일반적입니다. 하지만 많은 수의 탭이 표시될 경우, 이를 위한 추가적인 UI 요소가 필요할 수 있습니다.
이 문제를 해결하는 한 가지 방법은 스크롤바를 사용하는 것입니다. 스크롤바를 통해 사용자는 모든 탭에 쉽게 접근할 수 있으며, 화면에 보이는 것 이상의 탭이 표시되어도 문제없이 스크롤할 수 있습니다.
이제 flutter에서 탭 바와 스크롤바를 함께 구현하는 방법에 대해 살펴보겠습니다.
1. 탭 바 구현하기
먼저, flutter에서 기본적인 탭 바를 구현하는 방법은 다음과 같습니다.
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: DefaultTabController(
length: 3,
child: Scaffold(
appBar: AppBar(
title: Text('탭 바 예제'),
bottom: TabBar(
tabs: [
Tab(text: 'Tab 1'),
Tab(text: 'Tab 2'),
Tab(text: 'Tab 3'),
],
),
),
body: TabBarView(
children: [
Center(child: Text('탭 1')),
Center(child: Text('탭 2')),
Center(child: Text('탭 3')),
],
),
),
),
);
}
}
위 코드는 3개의 탭을 가지는 간단한 탭 바를 구현한 예제입니다.
2. 스크롤바 추가하기
위에서 구현한 탭 바에 스크롤바를 추가하는 방법은 매우 간단합니다.
TabBar(
isScrollable: true,
tabs: [
Tab(text: 'Tab 1'),
Tab(text: 'Tab 2'),
Tab(text: 'Tab 3'),
Tab(text: 'Tab 4'),
// ... 중략 ...
Tab(text: 'Tab N'),
],
),
TabBar
위젯의 isScrollable
속성을 true
로 설정하면, 탭이 화면에 모두 표시되지 못할 경우 자동으로 스크롤바가 추가됩니다.
마무리
flutter를 사용하여 탭 바와 스크롤바를 함께 구현하는 방법을 알아보았습니다. 이를 참고하여 다양한 UI 요소를 효과적으로 구현해 보시기 바랍니다.