이미지 로딩 라이브러리 변경

This commit is contained in:
klaus 2023-08-18 21:51:38 +09:00
parent f7299cc0df
commit a5abb39059
4 changed files with 48 additions and 20 deletions

View File

@ -1,15 +1,19 @@
package kr.co.vividnext.sodalive.audio_content.main package kr.co.vividnext.sodalive.audio_content.main
import android.content.Context
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.ImageView import android.widget.ImageView
import coil.load import com.bumptech.glide.Glide
import coil.transform.RoundedCornersTransformation import com.bumptech.glide.request.target.CustomTarget
import com.bumptech.glide.request.transition.Transition
import com.zhpan.bannerview.BaseBannerAdapter import com.zhpan.bannerview.BaseBannerAdapter
import com.zhpan.bannerview.BaseViewHolder import com.zhpan.bannerview.BaseViewHolder
import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.extensions.dpToPx
class AudioContentMainBannerAdapter( class AudioContentMainBannerAdapter(
private val context: Context,
private val itemWidth: Int, private val itemWidth: Int,
private val itemHeight: Int, private val itemHeight: Int,
private val onClick: (GetAudioContentBannerResponse) -> Unit private val onClick: (GetAudioContentBannerResponse) -> Unit
@ -26,12 +30,20 @@ class AudioContentMainBannerAdapter(
layoutParams.width = itemWidth layoutParams.width = itemWidth
layoutParams.height = itemHeight layoutParams.height = itemHeight
ivBanner.load(data.thumbnailImageUrl) { Glide
crossfade(true) .with(context)
placeholder(R.drawable.ic_place_holder) .asBitmap()
transformations(RoundedCornersTransformation(5.3f.dpToPx())) .load(data.thumbnailImageUrl)
} .into(object : CustomTarget<Bitmap>() {
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
ivBanner.setImageBitmap(resource)
ivBanner.layoutParams = layoutParams ivBanner.layoutParams = layoutParams
}
override fun onLoadCleared(placeholder: Drawable?) {
}
})
ivBanner.setOnClickListener { onClick(data) } ivBanner.setOnClickListener { onClick(data) }
} }

View File

@ -142,7 +142,11 @@ class AudioContentMainFragment : BaseFragment<FragmentAudioContentMainBinding>(
layoutParams.width = pagerWidth.roundToInt() layoutParams.width = pagerWidth.roundToInt()
layoutParams.height = pagerHeight layoutParams.height = pagerHeight
bannerAdapter = AudioContentMainBannerAdapter(pagerWidth.roundToInt(), pagerHeight) { bannerAdapter = AudioContentMainBannerAdapter(
requireContext(),
pagerWidth.roundToInt(),
pagerHeight
) {
when (it.type) { when (it.type) {
AudioContentBannerType.EVENT -> { AudioContentBannerType.EVENT -> {
startActivity( startActivity(

View File

@ -173,7 +173,7 @@ class LiveFragment : BaseFragment<FragmentLiveBinding>(FragmentLiveBinding::infl
.layoutParams = layoutParams .layoutParams = layoutParams
binding.layoutRecommendLive.pager.apply { binding.layoutRecommendLive.pager.apply {
adapter = RecommendLiveAdapter(pagerWidth.roundToInt(), pagerHeight) { adapter = RecommendLiveAdapter(requireContext(), pagerWidth.roundToInt(), pagerHeight) {
startActivity( startActivity(
Intent(requireContext(), UserProfileActivity::class.java).apply { Intent(requireContext(), UserProfileActivity::class.java).apply {
putExtra(Constants.EXTRA_USER_ID, it) putExtra(Constants.EXTRA_USER_ID, it)

View File

@ -1,15 +1,19 @@
package kr.co.vividnext.sodalive.live.recommend package kr.co.vividnext.sodalive.live.recommend
import android.content.Context
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import android.widget.FrameLayout import android.widget.FrameLayout
import android.widget.ImageView import android.widget.ImageView
import coil.load import com.bumptech.glide.Glide
import coil.transform.RoundedCornersTransformation import com.bumptech.glide.request.target.CustomTarget
import com.bumptech.glide.request.transition.Transition
import com.zhpan.bannerview.BaseBannerAdapter import com.zhpan.bannerview.BaseBannerAdapter
import com.zhpan.bannerview.BaseViewHolder import com.zhpan.bannerview.BaseViewHolder
import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.extensions.dpToPx
class RecommendLiveAdapter( class RecommendLiveAdapter(
private val context: Context,
private val itemWidth: Int, private val itemWidth: Int,
private val itemHeight: Int, private val itemHeight: Int,
private val onClick: (Long) -> Unit private val onClick: (Long) -> Unit
@ -26,12 +30,20 @@ class RecommendLiveAdapter(
layoutParams.width = itemWidth layoutParams.width = itemWidth
layoutParams.height = itemHeight layoutParams.height = itemHeight
ivRecommendLive.load(data.imageUrl) { Glide
crossfade(true) .with(context)
placeholder(R.drawable.ic_place_holder) .asBitmap()
transformations(RoundedCornersTransformation(5.3f.dpToPx())) .load(data.imageUrl)
} .into(object : CustomTarget<Bitmap>() {
override fun onResourceReady(resource: Bitmap, transition: Transition<in Bitmap>?) {
ivRecommendLive.setImageBitmap(resource)
ivRecommendLive.layoutParams = layoutParams ivRecommendLive.layoutParams = layoutParams
}
override fun onLoadCleared(placeholder: Drawable?) {
}
})
ivRecommendLive.setOnClickListener { onClick(data.creatorId) } ivRecommendLive.setOnClickListener { onClick(data.creatorId) }
} }