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

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

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@color/color_2e6279" />
<corners android:radius="10dp" />
<stroke
android:width="1dp"
android:color="@color/color_2e6279" />
</shape>

View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="@android:color/transparent" />
<corners android:radius="8dp" />
<stroke
android:width="1dp"
android:color="@color/color_3bb9f1" />
</shape>

View File

@ -93,7 +93,7 @@
android:id="@+id/tv_complete_reservation" android:id="@+id/tv_complete_reservation"
android:layout_width="wrap_content" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_round_corner_10_533d89" android:background="@drawable/bg_round_corner_10_2e6279"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:paddingHorizontal="7.5dp" android:paddingHorizontal="7.5dp"
android:paddingVertical="4.3dp" android:paddingVertical="4.3dp"

View File

@ -15,14 +15,14 @@
android:drawablePadding="8dp" android:drawablePadding="8dp"
android:fontFamily="@font/gmarket_sans_bold" android:fontFamily="@font/gmarket_sans_bold"
android:text="내가 개설한 라이브" android:text="내가 개설한 라이브"
android:textColor="@color/color_9970ff" android:textColor="@color/color_80d8ff"
android:textSize="16sp" android:textSize="16sp"
app:drawableStartCompat="@drawable/ic_mic_colored" /> app:drawableStartCompat="@drawable/ic_mic_colored" />
<RelativeLayout <RelativeLayout
android:layout_width="match_parent" android:layout_width="match_parent"
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:background="@drawable/bg_round_corner_8_transparent_9970ff" android:background="@drawable/bg_round_corner_8_transparent_3bb9f1"
android:orientation="horizontal" android:orientation="horizontal"
android:padding="1dp"> android:padding="1dp">

View File

@ -28,7 +28,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_bold" android:fontFamily="@font/gmarket_sans_bold"
android:text="예약중" android:text="예약중"
android:textColor="@color/color_9970ff" android:textColor="@color/color_3bb9f1"
android:textSize="18.3sp" /> android:textSize="18.3sp" />
</LinearLayout> </LinearLayout>

View File

@ -98,4 +98,6 @@
<color name="color_ffe368">#FFE368</color> <color name="color_ffe368">#FFE368</color>
<color name="color_ccf0ff">#CCF0FF</color> <color name="color_ccf0ff">#CCF0FF</color>
<color name="color_13181b">#13181B</color> <color name="color_13181b">#13181B</color>
<color name="color_3bb9f1">#3BB9F1</color>
<color name="color_2e6279">#2E6279</color>
</resources> </resources>