[flutter] 플러터 shimmer를 활용한 무한 스크롤 애니메이션

플러터(Flutter)로 모바일 애플리케이션을 개발 중인 경우 사용자 경험을 향상시키기 위해 shimmer 애니메이션을 활용할 수 있습니다. 이번 포스트에서는 플러터의 shimmer 패키지를 이용하여 무한 스크롤(infinite scroll) 화면에 shimmer 애니메이션을 구현하는 방법에 대해 알아보겠습니다.

Shimmer 패키지 설치

우선, shimmer 패키지를 플러터 프로젝트에 설치해야 합니다. 이를 위해 pubspec.yaml 파일에 다음과 같이 패키지를 추가합니다.

dependencies:
  shimmer: ^1.2.0

이후 터미널에서 flutter pub get 명령어를 실행하여 패키지를 설치합니다.

무한 스크롤 애니메이션 구현

다음으로, 리스트 뷰(ListView)와 shimmer를 활용하여 무한 스크롤 애니메이션을 구현해 보겠습니다.

  1. shimmer를 import하여 사용할 수 있는 상태로 준비합니다.
import 'package:shimmer/shimmer.dart';
  1. shimmer를 리스트 뷰 아이템에 적용합니다.
ListView.builder(
  itemCount: 10,
  itemBuilder: (BuildContext context, int index) {
    return Shimmer.fromColors(
      baseColor: Colors.grey[300],
      highlightColor: Colors.grey[100],
      child: ListTile(
        leading: CircleAvatar(
          backgroundColor: Colors.grey[300],
        ),
        title: Text('Loading...'),
        subtitle: Text('Loading...'),
      ),
    );
  },
)

여기서 Shimmer.fromColors()를 사용하여 shimmer 애니메이션을 적용하고, 리스트 아이템의 로딩 상태를 보여주는 효과를 구현합니다.

마치며

위의 예제를 따라하면, 플러터 앱에서 shimmer를 활용하여 무한 스크롤 애니메이션을 쉽게 구현할 수 있습니다. 이를 통해 사용자들은 데이터 로딩 중에도 직관적이고 멋진 화면을 경험할 수 있습니다.

더 많은 shimmer 애니메이션 활용 방법들을 찾아보시려면 shimmer 패키지 문서를 참고하시기 바랍니다.