개발/ANDROID 안드로이드 / / 2022. 8. 31. 18:26

[Library] Glide로 GIF 이미지 로딩하기 setLoopCount 반복 횟수 설정

반응형

 

# Glide 이미지 로딩 라이브러리 사용 방법

 

[Library] Glide 자주 사용하는 안드로이드 이미지 라이브러리

# 안드로이드 이미지 라이브러리 Glide는 Picasso와 함께 안드로이드 이미지 로딩 라이브러리에서 많이 사용되는 라이브러리입니다. 이미지, GIF, 캐싱, 커스텀 등 다양한 기능일 지원합니다. Picasso.w

overpay.tistory.com

 

 

1. GIF 이미지 로딩 방법

asGif()를 추가하여 간단하게 gif 이미지를 로딩할 수 있습니다.

Glide.with(this)
        .asGif()
        .load(R.drawable.gif)
        .into(imageView);

 

# GIF 이미지 반복 재생 정지

gif 이미지를 추가한 뒤 별도로 횟수를 지정하지 않을 경우 계속하여 이미지가 실행됩니다.

gif 재생 횟수를 설정하기 위해서는 콜백 리스너

new RequestListener<GifDrawable>()를 추가하여 setLoopCount를 지정해야 합니다.

Glide.with(this)
        .asGif()
        .listener(new RequestListener<GifDrawable>() {
            @Override
            public boolean onLoadFailed(@Nullable GlideException e, Object model, Target<GifDrawable> target, boolean isFirstResource) {
                return false;
            }

            @Override
            public boolean onResourceReady(GifDrawable resource, Object model, Target<GifDrawable> target, DataSource dataSource, boolean isFirstResource) {
                // gif 이미지 1회만
                resource.setLoopCount(1);
                resource.stop();
                return false;
            }
        })
        .load(R.drawable.gif)
        .into(imageView);

 

# setLoopCount 함수가 안 보일 경우!!

Glide의 listener의 경우 위치에 따라 콜백 리스너가 다릅니다. 

asGif() 뒤에서 listener을 추가할 경우 new RequestListener<GifDrawable>()

asGif() 없이 load 뒤에서 listener을 추가할 경우 new RequestListener<Drawable>() 

 

setLoopCount를 사용하기 위해서는 asGif() 추가 후 new RequestListener<GifDrawable>()를 등록해주세요.

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유