Android App Track⛺-023

MunkiJeon·2024년 7월 1일

TIL

목록 보기
40/59
post-thumbnail

TIL (Today I Learned)

오늘 공부한거!

  • Glide, 모서리 둥글게 처리하기

  • 서론 : 오늘도 프로기는 스텐다드 과제 중에 이미지 뷰를 쓰는 디...

  • 뚝딱뚝딱...아이콘은 다 넣었는데... 어케 동글게 하지??

  • 찾아보니 Glide라는 것을 쓰라고 헌다...

    • 구글에서 만든 이미지 로더 라이브러리다. Glide의 with()는 Picasso와는 다르게 Context뿐 아니라 Activity와 Fragment도 인자로 사용할 수 있다.
    • Picasso보다 메모리 용량을 적게 차지한다. 그 이유는 이미지를 다운로드 할 때 작은 이미지 사이즈로 변환해주기 때문이다. 그래서 원본 이미지를 그대로 가져와야 한다면 Picasso를, 그렇지 않다면 Glide를 사용하는 것이 좋다.

1. build.gradle에 Glide 라이브러리 추가하기

//settings.gradle.kts 파일
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
    }
}
//bulid.gradle.kts 파일
dependencies {
    implementation("com.github.bumptech.glide:glide:4.16.0")
    annotationProcessor("com.github.bumptech.glide:compiler:4.16.0")
}

2. Glide 사용하기

private val bankImg = arrayListOf(
        //통장 아이콘
        R.drawable.logo_toss_symbol_fill,
        R.drawable.ibk,
        R.drawable.all,
        R.drawable.kdb,
        R.drawable.kb,
        R.drawable.seida,
        //카드 이미지
        R.raw.shinhan2,
        R.raw.shinhan,
    )
fun changeShape(img: ImageView, imgNum: Int) {
 Glide.with(this)//this = MainActivity
    //바꿀 이미지 리소스
    .load(bankImg.get(imgNum))
    //apply = 이미지 옵션
    .apply(RequestOptions.bitmapTransform(RoundedCorners(70)))
    //into = 어디다 그릴지
     .into(img)
}
override fun onCreate(savedInstanceState: Bundle?) {
 var iv_bankicon01 = findViewById<ImageView>(R.id.iv_bankicon01)
 changeShape(iv_bankicon01, 0)
 ...
}
  • with()
    View, Fragment 혹은 Activity로부터 Context를 가져온다.

  • load()
    이미지를 보여줄 View를 지정한다.

  • placeholder()
    Glide로 이미지 로딩을 시작하기전에 보여줄 이미지를 설정한다.

  • error()
    리소스를 불러오다가 에러가 발생했을 경우 보여줄 이미지를 설정한다.

  • fallback()
    load할 URL이 null인 경우 등 비어있을 때 보여줄 이미지를 설정한다.

Today Review

  • 뚝딱뚝딱🔨🔨
profile
공장자동화와 웹 개발을 핥아 먹다 앱 개발로 전향한 개발자의 키보드의 낡은 키캡⛑️

0개의 댓글