diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/AuditionListAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/AuditionListAdapter.kt index 3e1410a..2220231 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/AuditionListAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/AuditionListAdapter.kt @@ -1,14 +1,18 @@ package kr.co.vividnext.sodalive.audition import android.annotation.SuppressLint +import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView -import coil.load -import coil.transform.RoundedCornersTransformation +import com.bumptech.glide.Glide +import com.bumptech.glide.load.MultiTransformation +import com.bumptech.glide.load.resource.bitmap.CenterCrop +import com.bumptech.glide.load.resource.bitmap.RoundedCorners +import com.bumptech.glide.request.RequestOptions import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.databinding.ItemAuditionListBinding import kr.co.vividnext.sodalive.databinding.ItemAuditionListCompletedHeaderBinding @@ -59,15 +63,25 @@ class AuditionListAdapter( } inner class ViewHolder( + private val context: Context, private val binding: ItemAuditionListBinding ) : RecyclerView.ViewHolder(binding.root) { fun bind(data: DisplayItem.Data) { + Glide + .with(context) + .load(data.item.imageUrl) + .apply( + RequestOptions().transform( + MultiTransformation( + CenterCrop(), + RoundedCorners(5f.dpToPx().toInt()) + ) + ) + ) + .placeholder(R.drawable.bg_black) + .into(binding.ivCover) + binding.tvTitle.text = data.item.title - binding.ivCover.load(data.item.imageUrl) { - crossfade(true) - placeholder(R.drawable.ic_place_holder) - transformations(RoundedCornersTransformation(5f.dpToPx())) - } if (data.item.isOff) { binding.blackCover.visibility = View.VISIBLE @@ -110,6 +124,7 @@ class AuditionListAdapter( TYPE_ITEM -> { ViewHolder( + parent.context, ItemAuditionListBinding.inflate( LayoutInflater.from(parent.context), parent, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/detail/AuditionDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/detail/AuditionDetailActivity.kt index 37e0edb..91ddf1f 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/detail/AuditionDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/detail/AuditionDetailActivity.kt @@ -9,6 +9,11 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import coil.load import coil.transform.RoundedCornersTransformation +import com.bumptech.glide.Glide +import com.bumptech.glide.load.MultiTransformation +import com.bumptech.glide.load.resource.bitmap.CenterCrop +import com.bumptech.glide.load.resource.bitmap.RoundedCorners +import com.bumptech.glide.request.RequestOptions import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.audition.role.AuditionRoleDetailActivity import kr.co.vividnext.sodalive.base.BaseActivity @@ -133,11 +138,19 @@ class AuditionDetailActivity : BaseActivity( } viewModel.auditionDetailLiveData.observe(this) { - binding.ivCover.load(it.imageUrl) { - crossfade(true) - placeholder(R.drawable.bg_placeholder) - transformations(RoundedCornersTransformation(5f.dpToPx())) - } + Glide + .with(this) + .load(it.imageUrl) + .apply( + RequestOptions().transform( + MultiTransformation( + CenterCrop(), + RoundedCorners(5f.dpToPx().toInt()) + ) + ) + ) + .placeholder(R.drawable.bg_black) + .into(binding.ivCover) binding.toolbar.tvBack.text = it.title binding.tvInformation.text = it.information diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/detail/AuditionDetailRoleAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/detail/AuditionDetailRoleAdapter.kt index 61b1092..20d5d41 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/detail/AuditionDetailRoleAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/detail/AuditionDetailRoleAdapter.kt @@ -1,13 +1,17 @@ package kr.co.vividnext.sodalive.audition.detail +import android.content.Context import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.DiffUtil import androidx.recyclerview.widget.ListAdapter import androidx.recyclerview.widget.RecyclerView -import coil.load -import coil.transform.RoundedCornersTransformation +import com.bumptech.glide.Glide +import com.bumptech.glide.load.MultiTransformation +import com.bumptech.glide.load.resource.bitmap.CenterCrop +import com.bumptech.glide.load.resource.bitmap.RoundedCorners +import com.bumptech.glide.request.RequestOptions import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.databinding.ItemAuditionRoleBinding import kr.co.vividnext.sodalive.extensions.dpToPx @@ -34,15 +38,25 @@ class AuditionDetailRoleAdapter( } inner class ViewHolder( + private val context: Context, private val binding: ItemAuditionRoleBinding ) : RecyclerView.ViewHolder(binding.root) { fun bind(item: GetAuditionRoleListData) { + Glide + .with(context) + .load(item.imageUrl) + .apply( + RequestOptions().transform( + MultiTransformation( + CenterCrop(), + RoundedCorners(6.7f.dpToPx().toInt()) + ) + ) + ) + .placeholder(R.drawable.bg_black) + .into(binding.ivCover) + binding.tvName.text = item.name - binding.ivCover.load(item.imageUrl) { - crossfade(true) - placeholder(R.drawable.bg_placeholder) - transformations(RoundedCornersTransformation(6.7f.dpToPx())) - } if (item.isComplete) { binding.blackCover.visibility = View.VISIBLE @@ -63,6 +77,7 @@ class AuditionDetailRoleAdapter( } override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ViewHolder( + parent.context, ItemAuditionRoleBinding.inflate( LayoutInflater.from(parent.context), parent, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt index 328da29..bbbee01 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/audition/role/AuditionRoleDetailActivity.kt @@ -14,6 +14,11 @@ import androidx.recyclerview.widget.LinearLayoutManager import androidx.recyclerview.widget.RecyclerView import coil.load import coil.transform.RoundedCornersTransformation +import com.bumptech.glide.Glide +import com.bumptech.glide.load.MultiTransformation +import com.bumptech.glide.load.resource.bitmap.CenterCrop +import com.bumptech.glide.load.resource.bitmap.RoundedCorners +import com.bumptech.glide.request.RequestOptions import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.audition.applicant.ApplicationMethodDialog import kr.co.vividnext.sodalive.audition.applicant.AuditionApplicantListAdapter @@ -350,11 +355,19 @@ class AuditionRoleDetailActivity : BaseActivity