fix(chat-room): 프로필 이미지 circle로 변경
This commit is contained in:
@@ -9,44 +9,34 @@ package kr.co.vividnext.sodalive.chat.talk.room
|
|||||||
import android.widget.ImageView
|
import android.widget.ImageView
|
||||||
import androidx.annotation.DrawableRes
|
import androidx.annotation.DrawableRes
|
||||||
import coil.load
|
import coil.load
|
||||||
import coil.transform.RoundedCornersTransformation
|
import coil.transform.CircleCropTransformation
|
||||||
import kr.co.vividnext.sodalive.R
|
import kr.co.vividnext.sodalive.R
|
||||||
|
|
||||||
/**
|
|
||||||
* dp 값을 픽셀로 변환
|
|
||||||
*/
|
|
||||||
private fun ImageView.dpToPx(dp: Float): Float {
|
|
||||||
return dp * this.resources.displayMetrics.density
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 프로필 이미지 로딩 공용 함수
|
* 프로필 이미지 로딩 공용 함수
|
||||||
*
|
*
|
||||||
* @param url 이미지 URL (null 또는 빈 값이면 플레이스홀더로 대체)
|
* @param url 이미지 URL (null 또는 빈 값이면 플레이스홀더로 대체)
|
||||||
* @param cornerRadiusDp 둥근 모서리 반경(dp). 기본 12dp
|
|
||||||
* @param placeholderRes 플레이스홀더/에러 리소스
|
* @param placeholderRes 플레이스홀더/에러 리소스
|
||||||
*/
|
*/
|
||||||
fun loadProfileImage(
|
fun loadProfileImage(
|
||||||
imageView: ImageView,
|
imageView: ImageView,
|
||||||
url: String?,
|
url: String?,
|
||||||
cornerRadiusDp: Float = 12f,
|
|
||||||
@DrawableRes placeholderRes: Int = R.drawable.ic_placeholder_profile
|
@DrawableRes placeholderRes: Int = R.drawable.ic_placeholder_profile
|
||||||
) {
|
) {
|
||||||
val targetUrl = url?.takeIf { it.isNotBlank() }
|
val targetUrl = url?.takeIf { it.isNotBlank() }
|
||||||
val radiusPx = imageView.dpToPx(cornerRadiusDp)
|
|
||||||
|
|
||||||
if (targetUrl != null) {
|
if (targetUrl != null) {
|
||||||
imageView.load(targetUrl) {
|
imageView.load(targetUrl) {
|
||||||
placeholder(placeholderRes)
|
placeholder(placeholderRes)
|
||||||
error(placeholderRes)
|
error(placeholderRes)
|
||||||
transformations(RoundedCornersTransformation(radiusPx))
|
transformations(CircleCropTransformation())
|
||||||
crossfade(true)
|
crossfade(true)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
imageView.load(placeholderRes) {
|
imageView.load(placeholderRes) {
|
||||||
placeholder(placeholderRes)
|
placeholder(placeholderRes)
|
||||||
error(placeholderRes)
|
error(placeholderRes)
|
||||||
transformations(RoundedCornersTransformation(radiusPx))
|
transformations(CircleCropTransformation())
|
||||||
crossfade(true)
|
crossfade(true)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user