반응형
Glide를 통해 Gif를 보여주는데
- 이모티콘 바텀시트에서는 Gif가 움직이면 안됌
- 이모티콘 클릭시 정해진 횟수로 Gif 움직여야함
- 디스크 캐싱을 하는데 이미지가 변경되거나 하면 새로운거 보여주고 다시 캐싱 해야함.
이러한 요구 사항을 작업 하려고 한다.
1. Gif 움직이지 않게 하기
Glide.with(activity)
.asBitmap()
.load(R.drawable.gif_rain)
.apply(RequestOptions().diskCacheStrategy(DiskCacheStrategy.AUTOMATIC))
.into(ivEmoticon)
asBitMap()으로 움직이지 않게 한다.
2. 정해진 횟수로 Gif 움직이기
Glide.with(activity)
.asGif()
.load(R.drawable.gif_rain)
.apply(RequestOptions().diskCacheStrategy(DiskCacheStrategy.AUTOMATIC))
.listener(
object : RequestListener<GifDrawable> {
override fun onLoadFailed(
e: GlideException?,
model: Any?,
target: Target<GifDrawable>?,
isFirstResource: Boolean
): Boolean {
return false
}
override fun onResourceReady(
resource: GifDrawable?,
model: Any?,
target: Target<GifDrawable>?,
dataSource: DataSource?,
isFirstResource: Boolean
): Boolean {
resource?.setLoopCount(3)
return false
}
}
)
.into(ivEmoticon)
listener에 onResourceReady 이미지가 준비되면 LoopCount를 지정해준다.
3. 디스크 캐싱을 하는데 이미지가 변경되거나 하면 새로운거 보여주고 다시 캐싱
Glide.with(activity)
.asBitmap()
.load(R.drawable.gif_rain)
.apply(RequestOptions().diskCacheStrategy(DiskCacheStrategy.ALL))
.signature(ObjectKey("지정할 키"))
.into(ivEmoticon)
signature를 설정하여 이미지 link + signature키를 쌍으로 하여 다를 경우 다시 캐싱한다고 한다.
- 이 부분은 실제 확인 해보진 못했다.(작업 해봐야 함)
반응형
'안드로이드' 카테고리의 다른 글
[Android] Room DB에 대해 알아보자. (0) | 2024.06.26 |
---|---|
[Android] CoroutineWorker와 Hilt를 사용한 파일 다운로드 및 압축 해제 (0) | 2024.06.14 |
[Android] WebView 텍스트 고정 (글자크기 고정) (0) | 2024.05.28 |
[Android] 스토어 배포 경고 (디버그 기호 업로드) (0) | 2024.05.20 |
[Android] RecyclerView GridLayoutManager 헤더, 푸터, spanSizeLookup 작업 (0) | 2024.05.10 |