티스토리 뷰

개발/안드로이드

Glide Transition

임뒤 2017. 10. 10. 16:12

Glide로 이미지를 불러올 때, 애니메이션을 추가해주고 싶었다.


상황은 N개의 이미지를 순차적으로 4초마다 반복해서 보여주는 상황이고, 이미지가 전환될 때마다 crossFade 효과를 주고 싶다.

단, crossFade를 그냥 주면 crossFade가 실행될 때 뒷배경이 드러나므로, 이전의 이미지는 유지한 채로 crossFade 효과를 줄 것이다.


결론부터 말하면, N > 2 클 때는 가능하다.

그러나 N == 2 불가능하다.

(http://bumptech.github.io/glide/doc/transitions.html#cross-fading-with-placeholders-and-transparent-images)


N > 2 일 때 어떻게 적용하느냐.


1. GlideApp을 Generate 한다.

2. .placeholder(이전 이미지)

3. .transition(DrawableTransitionOptions.withCrossFade())

4. .listener(~ onResourceReady(...) {

이전 이미지 = resource;

}


하면 placeholder에 이전의 이미지가 남아있어서 이전 이미지가 유지한 채로, transition에서 crossFade효과가 발생한다.


N == 2 일 때는, Glide가 같은 ImageView에 requests 될 때, 이전에 존재하던 requests를 지워버려서 transition이 제대로 작동을 못한다는데, 솔직히 잘 이해를 못하겠다. 그래서 결국엔 나도 imageView를 두 개 깔아서 위에 있는 imageView에 Fade 애니메이션을 주는 것으로 마무리했다.

'개발 > 안드로이드' 카테고리의 다른 글

Android Dialog  (0) 2017.10.12
Android Data Binding  (0) 2017.10.12
Android ButterKnife 적용  (0) 2017.10.11
VideoView animation  (0) 2017.09.29
Block auto back up  (0) 2017.09.26
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2025/03   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31