Android/Kotlin

[Android/Kotlin] Glide 라이브러리 사용 방법

__JeongYeon 2022. 9. 12. 18:43
반응형

[모든 포스팅은 개인적 공부를 위해 작성된 글입니다]

<Glide란?>

- Google에서 발표한 이미지 로딩 라이브러리(이미지 로딩 라이브러리 중 가장 성능 좋음)

- 사진, 동영상, GIF 모두 지원

 

<장점>

- 1. 사용 방법 간단

- 2. 이미지 로딩 속도 빠름

- 3. 확장성 넓음

- 4. ImageView가 생긴 후에 이미지 로딩 시작해 ImageView 크기의 리소스 지원

 

<메서드>

- 1. override()

 - 이미지 사이즈 조절(메모리 절약 가능)

Glide.with(this@MainActivity)
    .asBitmap()
    .load(String_to_Bitmap(ticket_item.performance_image))
    .override(200,200)
    .into(binding!!.performanceImageView)

- 2. placeholder()

 - 이미지가 로딩되는 동안 보여 줄 이미지 설정

Glide.with(this@MainActivity)
    .asBitmap()
    .load(String_to_Bitmap(ticket_item.performance_image))
    .placeholder(이미지)
    .into(binding!!.performanceImageView)

- 3. error()

 - 이미지 로딩 실패한 경우 보여 줄 이미지 설정

Glide.with(this@MainActivity)
    .asBitmap()
    .load(String_to_Bitmap(ticket_item.performance_image))
    .error(이미지)
    .into(binding!!.performanceImageView)

- 4. thumbnail()

 - 이미지를 썸네일로 사용(지정한 비율만큼 이미지 가져와 보여줌)

Glide.with(this@MainActivity)
    .asBitmap()
    .load(String_to_Bitmap(ticket_item.performance_image))
    .thumbnail(0.3F)
    .into(binding!!.performanceImageView)

- 5. circleCrop()

 - 이미지 모서리 둥글게

Glide.with(this@MainActivity)
    .asBitmap()
    .load(String_to_Bitmap(ticket_item.performance_image))
    .circleCrop()
    .into(binding!!.performanceImageView)

- 6. 이미지 모서리 radius 지정

Glide.with(this@MainActivity)
    .asBitmap()
    .load(String_to_Bitmap(ticket_item.performance_image))
    .apply(RequestOptions.bitmapTransform(RoundedCorners(20)))
    .into(binding!!.performanceImageView)

- 7. centerCrop()

 - ImageView의 크기가 이미지의 크기 보다 작을 때 ImageView 크기에 맞춰 이미지 중간 부분만 크롭

Glide.with(this@MainActivity)
    .asBitmap()
    .load(String_to_Bitmap(ticket_item.performance_image))
    .centerCrop()
    .into(binding!!.performanceImageView)

 

<ImageView에 Bitmap 적용하기>

- gradle app 수준

//Glide
implementation 'com.github.bumptech.glide:glide:4.12.0'
Glide.with(this@MainActivity)
    .asBitmap()
    .load(String_to_Bitmap(ticket_item.performance_image))
    .into(binding!!.performanceImageView)

- Bitmap을 이미지뷰에 적용하기 위해 asBitmap()을 추가하였지만 url을 사용하는 경우 asBitmap()은 빼고 사용(load에 url, uri, drawable, bitmap 등 다양한 형태의 값 넣을 수 있음)

- load에 Bitmap 넣고 into에 적용할 Context, View, Activity, Fragment, FragmentActivity 등 지정

- Glide를 Fragment에서 사용하는 경우에는 with 메서드의 인자로 getActivity() 주면 됨

반응형