[flutter] 플러터 shimmer를 활용한 화면 전환 애니메이션

플러터(Flutter)로 깔끔하고 부드러운 화면 전환 효과를 구현하기 위해 Shimmer를 활용하는 방법에 대해 알아보겠습니다. Shimmer는 화면 이동 시 그리기 되는 컨텐츠를 일시적으로 반짝이는 애니메이션 효과로, 사용자가 데이터가 로딩 중임을 시각적으로 인지할 수 있도록 도와줍니다.

Shimmer 패키지 설치

가장 먼저 shimmer 패키지를 플러터 프로젝트에 추가해야 합니다. pubspec.yaml 파일에 다음과 같이 패키지를 추가합니다.

dependencies:
  shimmer: ^2.0.0

위와 같이 패키지를 추가한 후 터미널에서 flutter pub get 명령을 실행하여 패키지를 다운로드 받습니다.

Shimmer를 활용한 화면 전환 애니메이션 구현

1. Shimmer 애니메이션 추가

다음은 Shimmer 애니메이션을 추가하여 화면 전환 효과를 부드럽게 만드는 예시입니다.

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

class ShimmerScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Shimmer 화면'),
      ),
      body: Center(
        child: Shimmer.fromColors(
          baseColor: Colors.grey[300],
          highlightColor: Colors.grey[100],
          child: Text(
            '로딩 중...',
            style: TextStyle(fontSize: 24.0, fontWeight: FontWeight.bold),
          ),
        ),
      ),
    );
  }
}

2. 실제 화면 전환에 Shimmer 적용

실제로 화면 전환을 할 때에도 Shimmer 애니메이션을 적용하여 화면이 서서히 로딩되는 효과를 구현할 수 있습니다.

Navigator.push(
  context,
  MaterialPageRoute(builder: (context) => ShimmerScreen()),
);

위와 같이 Shimmer를 활용하여 화면 전환 애니메이션을 만들 수 있습니다. Shimmer를 이용하면 눈에 잘 띄는 화면 전환 애니메이션을 간편하게 구현할 수 있고, 사용자 경험을 향상시킬 수 있습니다.


위의 예시 코드 및 설명은 Shimmer 패키지를 활용하여 플러터 앱에서 화면 전환 애니메이션을 구현하는 방법을 보여줍니다. Shimmer를 사용하여 화려하고 부드러운 애니메이션을 만들어보세요!