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

플러터(Flutter)는 Google에서 개발한 크로스 플랫폼 앱 개발 프레임워크로, 풍부한 UI를 제공합니다. Shimmer 효과는 내용이 로드되기 전에 사용자에게 로딩 중임을 시각적으로 전달하며, 매끄러운 애니메이션을 통해 부드러운 사용자 경험을 제공합니다. 이번 블로그에서는 플러터 앱에서 Shimmer 효과를 활용하여 스크롤 애니메이션을 구현하는 방법을 알아보겠습니다.

1. Shimmer 패키지 추가하기

먼저, shimmer 패키지를 플러터 프로젝트에 추가해야 합니다. pubspec.yaml 파일의 dependencies 항목에 shimmer 패키지를 추가하세요.

dependencies:
  shimmer: ^2.0.0

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

2. Shimmer 스크롤 애니메이션 구현하기

이제, Shimmer 효과를 사용하여 스크롤 애니메이션을 구현해보겠습니다. 먼저 ListViewGridView와 같은 스크롤 가능한 위젯을 생성한 후, Shimmer.fromColors 위젯을 사용하여 Shimmer 효과를 적용하세요. 아래는 간단한 예시 코드입니다.

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

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text('Shimmer Scroll Animation'),
        ),
        body: ListView.builder(
          itemCount: 10,
          itemBuilder: (BuildContext context, int index) {
            return Shimmer.fromColors(
              baseColor: Colors.grey[300],
              highlightColor: Colors.grey[100],
              child: ListTile(
                title: Text('Loading...'),
              ),
            );
          },
        ),
      ),
    );
  }
}

위 코드에서, Shimmer.fromColors 위젯은 baseColor와 highlightColor 속성을 받아 Shimmer 효과를 적용합니다. 이렇게 하면 스크롤 가능한 리스트에 Shimmer 효과가 적용된 부드러운 애니메이션을 볼 수 있습니다.

결론

플러터의 shimmer 패키지를 활용하면 앱에서 사용자에게 로딩 중임을 시각적으로 전달할 수 있습니다. 스크롤 애니메이션에 Shimmer 효과를 적용하면 사용자 경험을 더욱 향상시킬 수 있습니다. 위의 예시 코드를 참고하여 앱의 스크롤 애니메이션에 Shimmer 효과를 적용해보세요.