민프

[Flutter] FadeInImage를 이용하여 FadeIn 효과 + Placeholder Image 를 적용해보자 본문

[Flutter]

[Flutter] FadeInImage를 이용하여 FadeIn 효과 + Placeholder Image 를 적용해보자

민프야 2023. 9. 20. 18:47

이번 포스팅에서는 FadeInImage Widget을 사용하여서

위 GIF와 같이

이미지가 로딩되는 동안의 이미지 (새 사진)와

이미지가 완료 된 후 이미지 (산 사진)를 애니메이션과 함께 적용해보려고 합니다. 

 

FadeInImage는 아래 사진과 같이 2가지 옵션을 가집니다.

assetNetWork네트워크에서 최종 이미지를 로드하는 동안 asset폴더에 저장된 이미지를 사용하는 위젯을 생성하는 것이고,

memoryNetwork네트워크에서 최종 이미지를 로드하는 동안 메모리에 저장된 이미지를 사용하는 위젯을 만드는 것 입니다.

 

 

적용한 코드는 아래와 같습니다.

FadeInImage.assetNetwork(
                          fit: BoxFit.cover,
                          placeholder: "assets/images/placeholder.jpg",
                          image:
                              "https://cdn.pixabay.com/photo/2023/06/11/16/07/switzerland-8056381_1280.jpg"),

참고링크

https://api.flutter.dev/flutter/widgets/FadeInImage-class.html

 

FadeInImage class - widgets library - Dart API

An image that shows a placeholder image while the target image is loading, then fades in the new image when it loads. Use this class to display long-loading images, such as NetworkImage.new, so that the image appears on screen with a graceful animation rat

api.flutter.dev

https://api.flutter.dev/flutter/widgets/FadeInImage/FadeInImage.assetNetwork.html

 

FadeInImage.assetNetwork constructor - FadeInImage - widgets library - Dart API

FadeInImage.assetNetwork({Key? key, required String placeholder, ImageErrorWidgetBuilder? placeholderErrorBuilder, required String image, ImageErrorWidgetBuilder? imageErrorBuilder, AssetBundle? bundle, double? placeholderScale, double imageScale = 1.0, bo

api.flutter.dev

https://api.flutter.dev/flutter/widgets/FadeInImage/FadeInImage.memoryNetwork.html

 

FadeInImage.memoryNetwork constructor - FadeInImage - widgets library - Dart API

FadeInImage.memoryNetwork({Key? key, required Uint8List placeholder, ImageErrorWidgetBuilder? placeholderErrorBuilder, required String image, ImageErrorWidgetBuilder? imageErrorBuilder, double placeholderScale = 1.0, double imageScale = 1.0, bool excludeFr

api.flutter.dev

 

Comments