Coil

노준혁·2023년 1월 4일
0

https://coil-kt.github.io/coil/
https://coil-kt.github.io/coil/getting_started/
https://velog.io/@jojo_devstory/Android-이미지-로딩-라이브러리-Coil-을-알아보자
https://jaeyeong951.medium.com/android-coil-안드로이드-image-loader-e989aaa95ce5


  • Coil
    • Coroutine Image Loader
    • 코루틴으로 수행되는 image loading Library
    • Android Backend Image Loading Library
    • URL, Resource(drawable), File 모두 다 가능

  • build.gradle

2023-01-04: 2.2.2
Coil is available on mavenCentral().

implementation("io.coil-kt:coil:2.2.2")

  • ImageView에 로딩

    • Coil의 load() 확장 메소드 사용

    • ImageView에 이미지를 불러오는 기능 수행

    • ex)

      // URL
      imageView.load("https://www.example.com/image.jpg")
      
      // File
      imageView.load(File("/path/to/image.jpg"))
      
      // resource
      imageView.load(R.drawable.image)

  • trailing lambda 식을 이용하여 추가 설정 가능
// CircleCropTransformation() -> image 원형으로 crop
imageView.load("https://www.example.com/image.jpg") {
    crossfade(true) // fade in 애니메이션
    placeholder(R.drawable.image) // 대체 이미지 설정
    transformations(CircleCropTransformation()) 
}

  • 4-type Image Transformations fea

    • BlurTransformation
      : Blur(블러=이미지를 흐릿하게 함)효과 적용

    • CircleCropTransformation
      : 이미지를 원형으로 자름

    • GrayscaleTransformation
      : 음영 처리, 회색 처리 (greyscale 효과)

    • RoundedCornersTransformation
      : 이미지의 테두리를 둥글게 바꿈 -> 즉, 라운드 적용

  • .dispose() 메소드
    • 원할 때 request를 dispose -> 관련 resource 해제
val disposable = imageView.load("https://www.example.com/image.jpg")

// Cancel the request.
disposable.dispose()

  • GIF 확장 라이브러리
profile
https://github.com/nohjunh

0개의 댓글