[flutter] carousel_slider를 사용하여 소식 보드 슬라이더 만들기

이번에는 Flutter에서 carousel_slider를 사용하여 소식 보드 슬라이더를 만드는 방법을 알아보겠습니다.

carousel_slider

먼저, carousel_slider 패키지를 설치해야 합니다. pubspec.yaml 파일에 다음을 추가해주세요:

dependencies:
  carousel_slider: ^4.0.0

그리고 터미널에서 flutter pub get 명령어를 실행하여 패키지를 다운로드 받아주세요.

슬라이더 구현

다음으로, carousel_slider를 사용하여 슬라이더를 구현해보겠습니다.

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

class NewsBoardSlider extends StatelessWidget {
  final List<String> news;

  NewsBoardSlider({required this.news});

  @override
  Widget build(BuildContext context) {
    return CarouselSlider(
      items: news.map((item) => Padding(
        padding: EdgeInsets.all(8.0),
        child: Text(item),
      )).toList(),
      options: CarouselOptions(
        height: 200,
        viewportFraction: 0.8,
        enlargeCenterPage: true,
        autoPlay: true,
        autoPlayInterval: Duration(seconds: 3),
      ),
    );
  }
}

위 코드에서, NewsBoardSlider 클래스는 carousel_slider를 사용하여 슬라이더를 구현한 StatefulWidget입니다. 생성자에서 news라는 문자열 리스트를 받아옵니다.

build 메소드에서는 CarouselSlider 위젯을 반환합니다. items 속성에는 news 리스트를 map 함수를 사용하여 Text 위젯으로 변환한 리스트를 할당합니다. options 속성으로 슬라이더의 높이, 보이는 항목의 비율, 자동 재생 등을 설정할 수 있습니다.

NewsBoardSlider 사용하기

이제 구현한 NewsBoardSlider를 사용하여 슬라이더를 화면에 표시해보겠습니다.

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('News Board Slider'),
        ),
        body: NewsBoardSlider(
          news: [
            'Breaking News',
            'Sports News',
            'Entertainment News',
            'Technology News',
          ],
        ),
      ),
    );
  }
}

위 코드에서 MyApp 클래스에서 NewsBoardSlider 위젯을 body 속성으로 사용하여 화면에 슬라이더를 추가했습니다. news 리스트에는 슬라이더에 표시할 소식들을 지정할 수 있습니다.

이제 앱을 실행해보면 소식 보드 슬라이더가 화면에 표시됨을 확인할 수 있습니다.

마무리

위의 방법을 따라가면 carousel_slider를 사용하여 간단한 소식 보드 슬라이더를 구현할 수 있습니다. carousel_slider 패키지의 다양한 옵션을 사용하여 원하는 스타일과 동작을 설정할 수 있으니, 필요에 맞게 활용해보시기 바랍니다.

더 많은 정보를 원하실 경우 carousel_slider 패키지의 문서를 참조하세요.