feat(series-main): 추천시리즈, 요일별 시리즈 동일한 레이아웃을 사용하여 아이템 크기와 내용이 동일하게 표시되도록 수정

This commit is contained in:
2025-11-17 21:32:03 +09:00
parent b759e110f8
commit cd8d2c255c
4 changed files with 29 additions and 33 deletions

View File

@@ -1,41 +1,40 @@
package kr.co.vividnext.sodalive.home
import android.annotation.SuppressLint
import android.content.Context
import android.view.LayoutInflater
import android.view.View
import android.view.ViewGroup
import androidx.recyclerview.widget.RecyclerView
import com.bumptech.glide.Glide
import com.bumptech.glide.load.resource.bitmap.CenterCrop
import com.bumptech.glide.load.resource.bitmap.RoundedCorners
import com.bumptech.glide.request.RequestOptions
import coil.load
import coil.transform.RoundedCornersTransformation
import kr.co.vividnext.sodalive.R
import kr.co.vividnext.sodalive.audio_content.series.GetSeriesListResponse
import kr.co.vividnext.sodalive.databinding.ItemHomeSeriesBinding
import kr.co.vividnext.sodalive.extensions.dpToPx
class HomeSeriesAdapter(
private val itemWidth: Int? = null,
private val onClickItem: (Long) -> Unit
) : RecyclerView.Adapter<HomeSeriesAdapter.ViewHolder>() {
val items = mutableListOf<GetSeriesListResponse.SeriesListItem>()
inner class ViewHolder(
private val context: Context,
private val binding: ItemHomeSeriesBinding
) : RecyclerView.ViewHolder(binding.root) {
@SuppressLint("SetTextI18n")
fun bind(item: GetSeriesListResponse.SeriesListItem) {
Glide
.with(context)
.load(item.coverImage)
.apply(
RequestOptions().transform(
CenterCrop(),
RoundedCorners(16f.dpToPx().toInt())
)
)
.into(binding.ivCover)
binding.ivCover.load(item.coverImage) {
placeholder(R.drawable.bg_placeholder)
transformations(RoundedCornersTransformation(16f.dpToPx()))
if (itemWidth != null) {
val lp = binding.ivCover.layoutParams
lp.width = itemWidth
lp.height = itemWidth * 432 / 306
binding.ivCover.layoutParams = lp
}
}
binding.tvTitle.text = item.title
binding.tvNickname.text = item.creator.nickname
@@ -63,7 +62,6 @@ class HomeSeriesAdapter(
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ViewHolder(
parent.context,
ItemHomeSeriesBinding.inflate(
LayoutInflater.from(parent.context),
parent,