[flutter] carousel_slider를 사용하여 체육관 정보 슬라이더 만들기

이번 포스트에서는 Flutter의 carousel_slider 패키지를 사용하여 체육관 정보를 슬라이더로 표시하는 방법에 대해 알아보겠습니다.

먼저, pubspec.yaml 파일에 carousel_slider 패키지를 추가해야 합니다. 아래의 코드를 dependencies 항목에 추가합니다.

dependencies:
  carousel_slider: ^4.0.0

의존성을 추가한 후에는 flutter pub get 명령어를 사용하여 패키지를 다운로드합니다.

슬라이더 레이아웃 만들기

다음으로, 슬라이더를 표시할 레이아웃을 만들어야 합니다. 예를 들어, 체육관 정보를 표시하는 카드를 슬라이더로 표시하려고 합니다. 아래의 코드는 간단한 카드 레이아웃을 생성하는 예시입니다.

import 'package:flutter/material.dart';
import 'package:carousel_slider/carousel_slider.dart';

class GymSlider extends StatelessWidget {
  final List<String> gymList = [
    '체육관 1',
    '체육관 2',
    '체육관 3',
  ];

  @override
  Widget build(BuildContext context) {
    return CarouselSlider(
      options: CarouselOptions(
        height: 200.0,
        enableInfiniteScroll: true,
        autoPlay: true,
      ),
      items: gymList.map((gym) {
        return Builder(
          builder: (BuildContext context) {
            return Container(
              width: MediaQuery.of(context).size.width,
              margin: EdgeInsets.symmetric(horizontal: 5.0),
              decoration: BoxDecoration(
                color: Colors.grey,
              ),
              child: Center(
                child: Text(
                  gym,
                  style: TextStyle(fontSize: 25.0, color: Colors.white),
                ),
              ),
            );
          },
        );
      }).toList(),
    );
  }
}

위의 코드에서 우리는 gymList라는 문자열 목록을 정의하고, CarouselSlider 위젯을 사용하여 슬라이더를 생성합니다. CarouselOptions를 사용하여 슬라이더의 옵션을 설정하고, items 속성에는 gymList의 각 항목을 컨테이너로 변환하여 표시합니다.

메인 앱에 슬라이더 추가하기

마지막으로, 위에서 생성한 GymSlider 위젯을 앱의 메인 화면에 추가해야 합니다. 아래의 코드는 MaterialApp의 home 속성에 GymSlider를 추가하는 예시입니다.

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Gym Slider',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: Scaffold(
        appBar: AppBar(
          title: Text('Gym Slider'),
        ),
        body: Center(
          child: GymSlider(),
        ),
      ),
    );
  }
}

위의 코드에서는 MaterialApp 위젯을 사용하여 앱을 생성하고, Scaffold 위젯을 사용하여 기본 앱 레이아웃을 생성합니다. 메인 화면의 body 속성에는 위에서 생성한 GymSlider 위젯을 추가하여 체육관 정보 슬라이더를 표시합니다.

결론

이렇게 carousel_slider 패키지를 사용하여 Flutter에서 체육관 정보 슬라이더를 만들 수 있습니다. carousel_slider의 다양한 옵션과 기능을 사용하여 슬라이더를 원하는 대로 커스터마이징할 수 있으니, 자유롭게 활용해보세요.

참고 자료