feat: 콘텐츠 메인 - 새로운 콘텐츠, 큐레이션
- 포인트 사용이 가능한 콘텐츠의 썸네일 우측 상단에 포인트 사용 가능 표시
This commit is contained in:
		@@ -2,8 +2,6 @@ package kr.co.vividnext.sodalive.audio_content.all
 | 
			
		||||
 | 
			
		||||
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
 | 
			
		||||
@@ -15,12 +13,9 @@ 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 com.bumptech.glide.request.target.CustomTarget
 | 
			
		||||
import com.bumptech.glide.request.transition.Transition
 | 
			
		||||
import kr.co.vividnext.sodalive.R
 | 
			
		||||
import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentMainItem
 | 
			
		||||
import kr.co.vividnext.sodalive.databinding.ItemAudioContentNewAllBinding
 | 
			
		||||
import kr.co.vividnext.sodalive.extensions.dpToPx
 | 
			
		||||
import kr.co.vividnext.sodalive.extensions.moneyFormat
 | 
			
		||||
 | 
			
		||||
class AudioContentNewAllAdapter(
 | 
			
		||||
@@ -47,11 +42,18 @@ class AudioContentNewAllAdapter(
 | 
			
		||||
                )
 | 
			
		||||
                .into(binding.ivAudioContentCoverImage)
 | 
			
		||||
 | 
			
		||||
            val layoutParams = binding.ivAudioContentCoverImage.layoutParams as ConstraintLayout.LayoutParams
 | 
			
		||||
            val layoutParams =
 | 
			
		||||
                binding.ivAudioContentCoverImage.layoutParams as ConstraintLayout.LayoutParams
 | 
			
		||||
            layoutParams.width = itemWidth
 | 
			
		||||
            layoutParams.height = itemWidth
 | 
			
		||||
            binding.ivAudioContentCoverImage.layoutParams = layoutParams
 | 
			
		||||
 | 
			
		||||
            binding.ivPoint.visibility = if (item.isPointAvailable) {
 | 
			
		||||
                View.VISIBLE
 | 
			
		||||
            } else {
 | 
			
		||||
                View.GONE
 | 
			
		||||
            }
 | 
			
		||||
 | 
			
		||||
            binding.ivAudioContentCreator.load(item.creatorProfileImageUrl) {
 | 
			
		||||
                crossfade(true)
 | 
			
		||||
                placeholder(R.drawable.ic_place_holder)
 | 
			
		||||
 
 | 
			
		||||
@@ -1,5 +1,6 @@
 | 
			
		||||
package kr.co.vividnext.sodalive.audio_content.main
 | 
			
		||||
 | 
			
		||||
import android.view.View
 | 
			
		||||
import androidx.recyclerview.widget.RecyclerView
 | 
			
		||||
import coil.load
 | 
			
		||||
import coil.transform.CircleCropTransformation
 | 
			
		||||
@@ -14,6 +15,12 @@ class AudioContentMainItemViewHolder(
 | 
			
		||||
    private val onClickCreator: (Long) -> Unit
 | 
			
		||||
) : RecyclerView.ViewHolder(binding.root) {
 | 
			
		||||
    fun bind(item: GetAudioContentMainItem) {
 | 
			
		||||
        binding.ivPoint.visibility = if (item.isPointAvailable) {
 | 
			
		||||
            View.VISIBLE
 | 
			
		||||
        } else {
 | 
			
		||||
            View.GONE
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        binding.ivAudioContentCoverImage.load(item.coverImageUrl) {
 | 
			
		||||
            crossfade(true)
 | 
			
		||||
            placeholder(R.drawable.ic_place_holder)
 | 
			
		||||
 
 | 
			
		||||
@@ -13,6 +13,18 @@
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toTopOf="parent" />
 | 
			
		||||
 | 
			
		||||
    <ImageView
 | 
			
		||||
        android:id="@+id/iv_point"
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
        android:layout_marginTop="2.7dp"
 | 
			
		||||
        android:layout_marginEnd="2.7dp"
 | 
			
		||||
        android:contentDescription="@null"
 | 
			
		||||
        android:src="@drawable/ic_point"
 | 
			
		||||
        android:visibility="gone"
 | 
			
		||||
        app:layout_constraintEnd_toEndOf="@+id/iv_audio_content_cover_image"
 | 
			
		||||
        app:layout_constraintTop_toTopOf="@+id/iv_audio_content_cover_image" />
 | 
			
		||||
 | 
			
		||||
    <TextView
 | 
			
		||||
        android:id="@+id/tv_audio_content_title"
 | 
			
		||||
        android:layout_width="0dp"
 | 
			
		||||
 
 | 
			
		||||
@@ -14,6 +14,18 @@
 | 
			
		||||
        app:layout_constraintStart_toStartOf="parent"
 | 
			
		||||
        app:layout_constraintTop_toTopOf="parent" />
 | 
			
		||||
 | 
			
		||||
    <ImageView
 | 
			
		||||
        android:id="@+id/iv_point"
 | 
			
		||||
        android:layout_width="20dp"
 | 
			
		||||
        android:layout_height="20dp"
 | 
			
		||||
        android:layout_marginTop="2.7dp"
 | 
			
		||||
        android:layout_marginEnd="2.7dp"
 | 
			
		||||
        android:contentDescription="@null"
 | 
			
		||||
        android:src="@drawable/ic_point"
 | 
			
		||||
        android:visibility="gone"
 | 
			
		||||
        app:layout_constraintEnd_toEndOf="@+id/iv_audio_content_cover_image"
 | 
			
		||||
        app:layout_constraintTop_toTopOf="@+id/iv_audio_content_cover_image" />
 | 
			
		||||
 | 
			
		||||
    <LinearLayout
 | 
			
		||||
        android:layout_width="wrap_content"
 | 
			
		||||
        android:layout_height="wrap_content"
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user