라이브 메인 지금 라이브 중, 라이브 전체 보기

- 이미지 크기 수정, 잠금 아이콘 사이즈 40 -> 60
This commit is contained in:
klaus 2024-03-14 23:51:37 +09:00
parent 196d5c6cfd
commit ebbe7e8917
6 changed files with 84 additions and 34 deletions

View File

@ -1,6 +1,9 @@
package kr.co.vividnext.sodalive.audio_content.all package kr.co.vividnext.sodalive.audio_content.all
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
@ -8,8 +11,12 @@ import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import coil.load import coil.load
import coil.transform.CircleCropTransformation import coil.transform.CircleCropTransformation
import coil.transform.RoundedCornersTransformation import com.bumptech.glide.Glide
import com.orhanobut.logger.Logger 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.R
import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentMainItem import kr.co.vividnext.sodalive.audio_content.main.GetAudioContentMainItem
import kr.co.vividnext.sodalive.databinding.ItemAudioContentNewAllBinding import kr.co.vividnext.sodalive.databinding.ItemAudioContentNewAllBinding
@ -23,23 +30,27 @@ class AudioContentNewAllAdapter(
) : RecyclerView.Adapter<AudioContentNewAllAdapter.ViewHolder>() { ) : RecyclerView.Adapter<AudioContentNewAllAdapter.ViewHolder>() {
inner class ViewHolder( inner class ViewHolder(
private val context: Context,
private val binding: ItemAudioContentNewAllBinding, private val binding: ItemAudioContentNewAllBinding,
private val onClickItem: (Long) -> Unit, private val onClickItem: (Long) -> Unit,
private val onClickCreator: (Long) -> Unit private val onClickCreator: (Long) -> Unit
) : RecyclerView.ViewHolder(binding.root) { ) : RecyclerView.ViewHolder(binding.root) {
fun bind(item: GetAudioContentMainItem) { fun bind(item: GetAudioContentMainItem) {
binding.ivAudioContentCoverImage.load(item.coverImageUrl) { Glide
crossfade(true) .with(context)
placeholder(R.drawable.ic_place_holder) .load(item.coverImageUrl)
transformations(RoundedCornersTransformation(2.7f.dpToPx())) .apply(
RequestOptions().transform(
CenterCrop(),
RoundedCorners(8)
)
)
.into(binding.ivAudioContentCoverImage)
val layoutParams = binding.ivAudioContentCoverImage val layoutParams = binding.ivAudioContentCoverImage.layoutParams as ConstraintLayout.LayoutParams
.layoutParams as ConstraintLayout.LayoutParams layoutParams.width = itemWidth
layoutParams.height = itemWidth
layoutParams.width = itemWidth binding.ivAudioContentCoverImage.layoutParams = layoutParams
layoutParams.height = itemWidth
binding.ivAudioContentCoverImage.layoutParams = layoutParams
}
binding.ivAudioContentCreator.load(item.creatorProfileImageUrl) { binding.ivAudioContentCreator.load(item.creatorProfileImageUrl) {
crossfade(true) crossfade(true)
@ -71,6 +82,7 @@ class AudioContentNewAllAdapter(
parent: ViewGroup, parent: ViewGroup,
viewType: Int viewType: Int
) = ViewHolder( ) = ViewHolder(
parent.context,
ItemAudioContentNewAllBinding.inflate( ItemAudioContentNewAllBinding.inflate(
LayoutInflater.from(parent.context), LayoutInflater.from(parent.context),
parent, parent,

View File

@ -1,12 +1,21 @@
package kr.co.vividnext.sodalive.live.now package kr.co.vividnext.sodalive.live.now
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.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import coil.transform.CircleCropTransformation import coil.transform.CircleCropTransformation
import coil.transform.RoundedCornersTransformation 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.R
import kr.co.vividnext.sodalive.databinding.ItemLiveNowBinding import kr.co.vividnext.sodalive.databinding.ItemLiveNowBinding
import kr.co.vividnext.sodalive.extensions.dpToPx import kr.co.vividnext.sodalive.extensions.dpToPx
@ -20,16 +29,28 @@ class LiveNowAdapter(
var items = mutableListOf<GetRoomListResponse>() var items = mutableListOf<GetRoomListResponse>()
inner class ViewHolder( inner class ViewHolder(
private val context: Context,
private val binding: ItemLiveNowBinding private val binding: ItemLiveNowBinding
) : RecyclerView.ViewHolder(binding.root) { ) : RecyclerView.ViewHolder(binding.root) {
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
fun bind(item: GetRoomListResponse) { fun bind(item: GetRoomListResponse) {
binding.ivCover.loadUrl(item.coverImageUrl) { Glide
crossfade(true) .with(context)
placeholder(R.drawable.ic_place_holder) .load(item.coverImageUrl)
transformations(RoundedCornersTransformation(4.7f.dpToPx())) .apply(
} RequestOptions().transform(
CenterCrop(),
RoundedCorners(8)
)
)
.into(binding.ivCover)
val layoutParams = binding.ivCover.layoutParams as ConstraintLayout.LayoutParams
layoutParams.width = 117f.dpToPx().toInt()
layoutParams.height = 164f.dpToPx().toInt()
binding.ivCover.layoutParams = layoutParams
binding.ivLock.visibility = if (item.isPrivateRoom) { binding.ivLock.visibility = if (item.isPrivateRoom) {
View.VISIBLE View.VISIBLE
} else { } else {
@ -71,6 +92,7 @@ class LiveNowAdapter(
} }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ViewHolder( override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ViewHolder(
parent.context,
ItemLiveNowBinding.inflate( ItemLiveNowBinding.inflate(
LayoutInflater.from(parent.context), LayoutInflater.from(parent.context),
parent, parent,

View File

@ -1,6 +1,9 @@
package kr.co.vividnext.sodalive.live.now.all package kr.co.vividnext.sodalive.live.now.all
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
@ -8,6 +11,12 @@ import androidx.constraintlayout.widget.ConstraintLayout
import androidx.recyclerview.widget.RecyclerView import androidx.recyclerview.widget.RecyclerView
import coil.transform.CircleCropTransformation import coil.transform.CircleCropTransformation
import coil.transform.RoundedCornersTransformation import coil.transform.RoundedCornersTransformation
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.R
import kr.co.vividnext.sodalive.databinding.ItemLiveNowAllBinding import kr.co.vividnext.sodalive.databinding.ItemLiveNowAllBinding
import kr.co.vividnext.sodalive.extensions.dpToPx import kr.co.vividnext.sodalive.extensions.dpToPx
@ -22,20 +31,26 @@ class LiveNowAllAdapter(
var items = mutableListOf<GetRoomListResponse>() var items = mutableListOf<GetRoomListResponse>()
inner class ViewHolder( inner class ViewHolder(
private val context: Context,
private val binding: ItemLiveNowAllBinding private val binding: ItemLiveNowAllBinding
) : RecyclerView.ViewHolder(binding.root) { ) : RecyclerView.ViewHolder(binding.root) {
@SuppressLint("SetTextI18n") @SuppressLint("SetTextI18n")
fun bind(item: GetRoomListResponse) { fun bind(item: GetRoomListResponse) {
binding.ivCover.loadUrl(item.coverImageUrl) { Glide
crossfade(true) .with(context)
placeholder(R.drawable.ic_place_holder) .load(item.coverImageUrl)
transformations(RoundedCornersTransformation(4.7f.dpToPx())) .apply(
RequestOptions().transform(
CenterCrop(),
RoundedCorners(14)
)
)
.into(binding.ivCover)
val lp = binding.ivCover.layoutParams as ConstraintLayout.LayoutParams val layoutParams = binding.ivCover
lp.width = itemWidth .layoutParams as ConstraintLayout.LayoutParams
lp.height = itemWidth * 144 / 102 layoutParams.width = itemWidth
binding.ivCover.layoutParams = lp layoutParams.height = itemWidth * 144 / 102
}
binding.ivLock.visibility = if (item.isPrivateRoom) { binding.ivLock.visibility = if (item.isPrivateRoom) {
View.VISIBLE View.VISIBLE
@ -94,6 +109,7 @@ class LiveNowAllAdapter(
} }
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ViewHolder( override fun onCreateViewHolder(parent: ViewGroup, viewType: Int) = ViewHolder(
parent.context,
ItemLiveNowAllBinding.inflate( ItemLiveNowAllBinding.inflate(
LayoutInflater.from(parent.context), LayoutInflater.from(parent.context),
parent, parent,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 621 B

After

Width:  |  Height:  |  Size: 825 B

View File

@ -7,8 +7,8 @@
<ImageView <ImageView
android:id="@+id/iv_cover" android:id="@+id/iv_cover"
android:layout_width="133.3dp" android:layout_width="117dp"
android:layout_height="176.7dp" android:layout_height="165dp"
android:contentDescription="@null" android:contentDescription="@null"
android:scaleType="centerCrop" android:scaleType="centerCrop"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
@ -35,7 +35,7 @@
android:paddingHorizontal="7.3dp" android:paddingHorizontal="7.3dp"
android:paddingVertical="4dp" android:paddingVertical="4dp"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="10sp" android:textSize="12sp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:background="@drawable/bg_round_corner_13_3_111111" tools:background="@drawable/bg_round_corner_13_3_111111"

View File

@ -36,7 +36,7 @@
android:paddingHorizontal="7.3dp" android:paddingHorizontal="7.3dp"
android:paddingVertical="4dp" android:paddingVertical="4dp"
android:textColor="@color/white" android:textColor="@color/white"
android:textSize="10sp" android:textSize="12sp"
app:layout_constraintStart_toStartOf="parent" app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" app:layout_constraintTop_toTopOf="parent"
tools:background="@drawable/bg_round_corner_13_3_111111" tools:background="@drawable/bg_round_corner_13_3_111111"
@ -77,7 +77,7 @@
android:layout_height="wrap_content" android:layout_height="wrap_content"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:textColor="@color/color_eeeeee" android:textColor="@color/color_eeeeee"
android:textSize="10sp" android:textSize="12sp"
tools:ignore="SmallSp" tools:ignore="SmallSp"
tools:text="잔여" /> tools:text="잔여" />
@ -88,7 +88,7 @@
android:layout_marginStart="2dp" android:layout_marginStart="2dp"
android:fontFamily="@font/gmarket_sans_medium" android:fontFamily="@font/gmarket_sans_medium"
android:textColor="@color/color_3bb9f1" android:textColor="@color/color_3bb9f1"
android:textSize="10sp" android:textSize="12sp"
tools:ignore="SmallSp" tools:ignore="SmallSp"
tools:text="3" /> tools:text="3" />
</LinearLayout> </LinearLayout>