Development record of developer who study hard everyday.

, , ,

안드로이드 바인딩 어댑터로 Glide 사용하기 예제

 안드로이드 바인딩 어댑터로 Glide 사용하기 예제


요즘에 함수형프로그래밍이 대세이다.

그래서 회사에서 프로젝트를 할 때 최대한 리액티브하게 코드를 구현하도록 노력 중이다.

오늘은 제일 흔하게 사용되는 Glide로 이미지를 리액티브하게 보여주는 코드를 예제로 보여주려고 한다.

데이터바인 세팅하는 과정은 생략하겠다.

안드로이드 데이터바인딩 공식문서에 자세히 나와있으니 참고하길 바란다.

@BindingAdapter("imageUrl")
fun setImageUrl(imageView: ImageView, url:String?) {
url?.let {
Glide.with(imageView.context).load(url).into(imageView)
}
}

주의할 점은 setImageUrl 함수가 전역함수여야한다.

클래스 안에 들어가면 안된다는 뜻이다.

"imageUrl" 은 xml에서 사용할 속성이다.

setImageUrl 첫번째 매개변수는 내가 사용할 View의 타입을 변수로 넘겨준다.

두번째 매개변수로 url을 넘겨준다.

<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="centerCrop"
android:adjustViewBounds="true"
imageUrl="@{selectedItem.heatImgPath}"
android:onClick="@{() -> fragment.showImageDialog(selectedItem.heatImgPath)}"
/>

내가 선언한 바인딩어댑터를 사용할 ImageView에 imageUrl 속성을 적어주면 된다.


Share:

댓글 없음:

댓글 쓰기