fix(character): 인기 캐릭터
- TextView 숫자 하단 여백(descent) 제거
This commit is contained in:
@@ -4,6 +4,7 @@ import android.annotation.SuppressLint
|
||||
import android.view.LayoutInflater
|
||||
import android.view.View
|
||||
import android.view.ViewGroup
|
||||
import android.view.ViewTreeObserver
|
||||
import androidx.recyclerview.widget.RecyclerView
|
||||
import coil.load
|
||||
import coil.transform.RoundedCornersTransformation
|
||||
@@ -27,13 +28,27 @@ class CharacterAdapter(
|
||||
|
||||
// 순위 표시 여부 결정
|
||||
if (showRanking) {
|
||||
binding.llRanking.visibility = View.VISIBLE
|
||||
binding.tvRanking.visibility = View.VISIBLE
|
||||
binding.tvRanking.text = (index + 1).toString()
|
||||
binding.tvRanking.apply {
|
||||
includeFontPadding = false
|
||||
maxLines = 1
|
||||
// 뷰가 측정된 뒤 메트릭이 확정되므로, preDraw 시점에 보정
|
||||
viewTreeObserver.addOnPreDrawListener(
|
||||
object : ViewTreeObserver.OnPreDrawListener {
|
||||
override fun onPreDraw(): Boolean {
|
||||
viewTreeObserver.removeOnPreDrawListener(this)
|
||||
val fm = paint.fontMetrics
|
||||
// 글리프 하단을 라인 박스 하단에 맞추기 위한 시프트
|
||||
translationY = fm.descent
|
||||
return true
|
||||
}
|
||||
})
|
||||
}
|
||||
} else {
|
||||
binding.llRanking.visibility = View.GONE
|
||||
binding.tvRanking.visibility = View.GONE
|
||||
}
|
||||
|
||||
binding.ivCharacter.clipToOutline = true
|
||||
binding.ivCharacter.load(character.imageUrl) {
|
||||
crossfade(true)
|
||||
placeholder(R.drawable.ic_logo_service_center)
|
||||
|
||||
Reference in New Issue
Block a user