fix(character-detail): 더보기 버튼 미표시 문제 수정 (줄 수 측정 시점 조정)

세계관/성격 텍스트의 줄 수를 maxLines=3 적용 이전에 측정하도록 순서 변경.
측정 후 더보기 가시성 결정, 그 다음 접힘 레이아웃 적용.
확장 상태 플래그 및 아이콘/문구 초기화 추가.
This commit is contained in:
2025-08-18 19:13:26 +09:00
parent f9b50089dd
commit 61cfbe249c

View File

@@ -167,19 +167,30 @@ class CharacterDetailActivity : BaseActivity<ActivityCharacterDetailBinding>(
// 세계관 내용과 버튼 가시성 초기화
val worldviewText = detail.backgrounds?.description.orEmpty()
binding.tvWorldviewContent.text = worldviewText
applyWorldviewCollapsedLayout()
// 먼저 전체 줄 수를 측정한 뒤 접힘 레이아웃 적용
binding.tvWorldviewContent.post {
val needExpand = binding.tvWorldviewContent.lineCount > 3
val totalLines = binding.tvWorldviewContent.layout?.lineCount ?: binding.tvWorldviewContent.lineCount
val needExpand = totalLines > 3
binding.llWorldviewExpand.visibility = if (needExpand) View.VISIBLE else View.GONE
// 표시 상태는 항상 접힘 상태로 시작
applyWorldviewCollapsedLayout()
isWorldviewExpanded = false
binding.tvWorldviewExpand.text = "더보기"
binding.ivWorldviewExpand.setImageResource(R.drawable.ic_chevron_down)
}
// 성격 내용과 버튼 가시성 초기화
val personalityText = detail.personalities?.description.orEmpty()
binding.tvPersonalityContent.text = personalityText
applyPersonalityCollapsedLayout()
// 먼저 전체 줄 수를 측정한 뒤 접힘 레이아웃 적용
binding.tvPersonalityContent.post {
val needExpand = binding.tvPersonalityContent.lineCount > 3
val totalLines = binding.tvPersonalityContent.layout?.lineCount ?: binding.tvPersonalityContent.lineCount
val needExpand = totalLines > 3
binding.llPersonalityExpand.visibility = if (needExpand) View.VISIBLE else View.GONE
applyPersonalityCollapsedLayout()
isPersonalityExpanded = false
binding.tvPersonalityExpand.text = "더보기"
binding.ivPersonalityExpand.setImageResource(R.drawable.ic_chevron_down)
}
// 원작 섹션 표시/숨김