Glide 알아보기!
시작하기 전에!
🤔 Glide란?
- 구글이 공개를 한 이미지 라이브러리
- 안드로이드의 빠르고 효과적인 오픈소스 미니어 매니지먼트 및 이미지 로딩 프레임워크
🤔 Glide의 장점은?
- 사용 방법이 간단하다.
- 확장성이 넓다.
- ImageView가 생긴 후에 이미지 로딩을 시작하여 View크기의 리소스를 지원함.
- 이미지 로딩 속도가 빠르다.
- Drawable에 있는 이미지 파일 뿐 만이 아닌 URL로도 이미지 로딩이 가능합니다.
Glide 사용 방법
종속성 추가하기
implementation 'com.github.bumptech.glide:glide:4.12.0'
// annotationProcessor 'com.github.bumptech.glide:compiler:4.12.0'
// 위의 코드는 URL을 통하여 이미지를 불러올 때에 필요합니다.
- 위의 종속성을 Gradle 파일에 추가해줍니다.
주의점!
- URL을 통하여 이미지를 불러올 것이라면 인터넷 권한을 추가해줍니다.
<uses-permission android:name="android.permission.INTERNET" />
기본 사용 방법
val testImageView: ImageView = findViewById(R.id.imageView)
Glide.with(context)
.load("이미지 url")
.into(testImageView)
- load 메서드의 이미지 URL이 들어가는 부분은 URI, Drawable 파일로 대체 가능합니다.
다른 사용 방법 1 : PlaceHolder 메서드
Glide.with(context)
.load("https://i.pinimg.com/736x/68/94/93/6894931eb3e93f6d6ef2dd000d8acdc6.jpg")
// 위의 이미지 주소로 들어가시면 아주 귀여운 고양이 사진이 나옵니다!
.placeholder(R.mipmap.ic_launcher)
.into(testImageView);
- placeholder() 메서드에 이미지가 로딩되기 까지 보여줄 이미지의 주소를 넣어줍니다.
- error() 메서드는 이미지를 불러올 수 없는 등의 오류가 생겼을 때 기본으로 보여줄 이미지의 주소를 넣어줍니다.
다른 사용 방법 2 : Override 메서드
Glide.with(context)
.load("https://i.pinimg.com/736x/68/94/93/6894931eb3e93f6d6ef2dd000d8acdc6.jpg")
.override(600,200)
.into(testImageView);
- override() 메서드를 이용하면 X, Y의 크기를 코드에서 지정해줄 수 있습니다.
다른 사용 방법 3 : Error 메서드
Glide.with(context)
.load("https://i.pinimg.com/736x/68/94/93/6894931eb3e93f6d6ef2dd000d8acdc6.jpg")
// 위의 이미지 주소로 들어가시면 아주 귀여운 고양이 사진이 나옵니다!
.error(R.mipmap.ic_error)
//Error상황에서 보여진다.
.into(testImageView);
- 특수한 상황에 의해서 이미지가 불러와지지 않을 때에 error() 함수에 있는 이미지의 주소가 ImageView에 띄워집니다.
다른 사용 방법 4 : CenterCrop 메서드
Glide.with(context)
.load("https://i.pinimg.com/736x/68/94/93/6894931eb3e93f6d6ef2dd000d8acdc6.jpg")
.override(600,200)
.centerCrop()
.into(testImageView);
- 이미지의 크기가 ImageView의 사이즈보다 클 때에 ImageView 크기에 맞춰 이미지의 중간 부분을 잘라서 스케일링 합니다.
이 외에 참고할 수 있는 사이트 : https://github.com/bumptech/glide
'Android > Library' 카테고리의 다른 글
Retrofit2를 알아보자! (0) | 2021.05.03 |
---|
댓글