라이브 지금 예약중 - 라이브 커버 이미지 사이즈가 작게 보이던 버그 수정

This commit is contained in:
2023-10-06 17:31:31 +09:00
parent 0e6c78a6c0
commit 3bf4f273d2
8 changed files with 73 additions and 17 deletions

View File

@@ -1,13 +1,16 @@
package kr.co.vividnext.sodalive.live.reservation
import android.annotation.SuppressLint
import android.content.Context
import android.graphics.Bitmap
import android.graphics.drawable.Drawable
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import coil.load
import coil.transform.RoundedCornersTransformation
import kr.co.vividnext.sodalive.R
import com.bumptech.glide.Glide
import com.bumptech.glide.request.target.CustomTarget
import com.bumptech.glide.request.transition.Transition
import kr.co.vividnext.sodalive.common.SharedPreferenceManager
import kr.co.vividnext.sodalive.databinding.ItemLiveReservationBinding
import kr.co.vividnext.sodalive.databinding.ItemMyLiveReservationBinding
@@ -24,6 +27,7 @@ class LiveReservationAdapter(
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): RecyclerView.ViewHolder {
return if (viewType == 1) {
MyLiveViewHolder(
parent.context,
ItemMyLiveReservationBinding.inflate(
LayoutInflater.from(parent.context),
parent,
@@ -32,6 +36,7 @@ class LiveReservationAdapter(
)
} else {
ViewHolder(
parent.context,
ItemLiveReservationBinding.inflate(
LayoutInflater.from(parent.context),
parent,
@@ -70,15 +75,31 @@ class LiveReservationAdapter(
}
inner class ViewHolder(
private val context: Context,
private val binding: ItemLiveReservationBinding
) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: GetRoomListResponse) {
binding.ivCover.load(item.coverImageUrl) {
crossfade(true)
placeholder(R.drawable.ic_place_holder)
transformations(RoundedCornersTransformation(4.7f.dpToPx()))
}
val lp = binding.ivCover.layoutParams
lp.width = 80f.dpToPx().toInt()
lp.height = 116.7f.dpToPx().toInt()
Glide
.with(context)
.asBitmap()
.load(item.coverImageUrl)
.into(object : CustomTarget<Bitmap>() {
override fun onResourceReady(
resource: Bitmap,
transition: Transition<in Bitmap>?
) {
binding.ivCover.setImageBitmap(resource)
binding.ivCover.layoutParams = lp
}
override fun onLoadCleared(placeholder: Drawable?) {
}
})
binding.tvDate.text = item.beginDateTime
binding.tvNickname.text = item.creatorNickname
binding.tvTitle.text = item.title
@@ -106,6 +127,7 @@ class LiveReservationAdapter(
}
inner class MyLiveViewHolder(
private val context: Context,
private val binding: ItemMyLiveReservationBinding
) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: GetRoomListResponse, position: Int) {
@@ -114,11 +136,27 @@ class LiveReservationAdapter(
} else {
View.GONE
}
binding.ivCover.load(item.coverImageUrl) {
crossfade(true)
placeholder(R.drawable.ic_place_holder)
transformations(RoundedCornersTransformation(4f.dpToPx()))
}
val lp = binding.ivCover.layoutParams
lp.width = 80f.dpToPx().toInt()
lp.height = 116.7f.dpToPx().toInt()
Glide
.with(context)
.asBitmap()
.load(item.coverImageUrl)
.into(object : CustomTarget<Bitmap>() {
override fun onResourceReady(
resource: Bitmap,
transition: Transition<in Bitmap>?
) {
binding.ivCover.setImageBitmap(resource)
binding.ivCover.layoutParams = lp
}
override fun onLoadCleared(placeholder: Drawable?) {
}
})
binding.tvDate.text = item.beginDateTime
binding.tvNickname.text = item.creatorNickname
binding.tvTitle.text = item.title