From 2984aac0a563cec1a1d790116c05f81fc89d191a Mon Sep 17 00:00:00 2001 From: klaus Date: Thu, 14 Dec 2023 15:06:06 +0900 Subject: [PATCH] =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=ED=83=AD=20-=20?= =?UTF-8?q?=EB=9D=BC=EC=9D=B4=EB=B8=8C=20=EC=A4=91=20=EC=95=84=EC=9D=B4?= =?UTF-8?q?=ED=85=9C=20UI=20=EB=B3=80=EA=B2=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sodalive/live/GetRoomListResponse.kt | 1 + .../sodalive/live/now/LiveNowAdapter.kt | 21 ++++- .../drawable/bg_round_corner_13_3_333333.xml | 8 ++ app/src/main/res/layout/item_live_now.xml | 93 ++++++++++++++----- 4 files changed, 99 insertions(+), 24 deletions(-) create mode 100644 app/src/main/res/drawable/bg_round_corner_13_3_333333.xml diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/GetRoomListResponse.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/GetRoomListResponse.kt index 23d4074..156aa0b 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/GetRoomListResponse.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/GetRoomListResponse.kt @@ -14,6 +14,7 @@ data class GetRoomListResponse( @SerializedName("price") val price: Int, @SerializedName("tags") val tags: List, @SerializedName("channelName") val channelName: String?, + @SerializedName("creatorProfileImage") val creatorProfileImage: String, @SerializedName("creatorNickname") val creatorNickname: String, @SerializedName("creatorId") val creatorId: Long, @SerializedName("isReservation") val isReservation: Boolean, diff --git a/app/src/main/java/kr/co/vividnext/sodalive/live/now/LiveNowAdapter.kt b/app/src/main/java/kr/co/vividnext/sodalive/live/now/LiveNowAdapter.kt index d0460db..3f0b704 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/live/now/LiveNowAdapter.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/live/now/LiveNowAdapter.kt @@ -5,11 +5,12 @@ import android.view.LayoutInflater import android.view.View import android.view.ViewGroup import androidx.recyclerview.widget.RecyclerView -import coil.load +import coil.transform.CircleCropTransformation import coil.transform.RoundedCornersTransformation import kr.co.vividnext.sodalive.R import kr.co.vividnext.sodalive.databinding.ItemLiveNowBinding import kr.co.vividnext.sodalive.extensions.dpToPx +import kr.co.vividnext.sodalive.extensions.loadUrl import kr.co.vividnext.sodalive.live.GetRoomListResponse class LiveNowAdapter( @@ -23,12 +24,11 @@ class LiveNowAdapter( ) : RecyclerView.ViewHolder(binding.root) { fun bind(item: GetRoomListResponse) { - binding.ivCover.load(item.coverImageUrl) { + binding.ivCover.loadUrl(item.coverImageUrl) { crossfade(true) placeholder(R.drawable.ic_place_holder) transformations(RoundedCornersTransformation(4.7f.dpToPx())) } - binding.tvManager.text = item.creatorNickname binding.tvNumberOfMembers.text = "${item.numberOfParticipate}" binding.ivLock.visibility = if (item.isPrivateRoom) { View.VISIBLE @@ -44,6 +44,21 @@ class LiveNowAdapter( binding.tvPrice.setBackgroundResource(R.drawable.bg_round_corner_10_643bc8) } + if (item.tags.isNotEmpty()) { + binding.tvTags.visibility = View.VISIBLE + binding.tvTags.text = item.tags.joinToString(" ") { "#$it" } + } else { + binding.tvTags.visibility = View.GONE + } + + binding.tvTitle.text = item.title + binding.tvNickname.text = item.creatorNickname + binding.ivProfile.loadUrl(item.creatorProfileImage) { + crossfade(true) + placeholder(R.drawable.ic_place_holder) + transformations(CircleCropTransformation()) + } + binding.root.setOnClickListener { onClick(item) } } } diff --git a/app/src/main/res/drawable/bg_round_corner_13_3_333333.xml b/app/src/main/res/drawable/bg_round_corner_13_3_333333.xml new file mode 100644 index 0000000..5879ecc --- /dev/null +++ b/app/src/main/res/drawable/bg_round_corner_13_3_333333.xml @@ -0,0 +1,8 @@ + + + + + + diff --git a/app/src/main/res/layout/item_live_now.xml b/app/src/main/res/layout/item_live_now.xml index 8e09f14..3b89e06 100644 --- a/app/src/main/res/layout/item_live_now.xml +++ b/app/src/main/res/layout/item_live_now.xml @@ -2,16 +2,17 @@ + android:layout_width="wrap_content" + android:layout_height="wrap_content"> + android:fontFamily="@font/gmarket_sans_medium" + android:maxLines="2" + android:textColor="@color/color_eeeeee" + android:textSize="12sp" + app:layout_constraintEnd_toEndOf="@+id/iv_cover" + app:layout_constraintStart_toStartOf="@+id/iv_cover" + app:layout_constraintTop_toBottomOf="@+id/iv_cover" + tools:text="test" /> + + + + + + + + + + + +