fix(character-detail): 더보기 버튼 미표시 문제 수정 (줄 수 측정 시점 조정)
세계관/성격 텍스트의 줄 수를 maxLines=3 적용 이전에 측정하도록 순서 변경. 측정 후 더보기 가시성 결정, 그 다음 접힘 레이아웃 적용. 확장 상태 플래그 및 아이콘/문구 초기화 추가.
This commit is contained in:
@@ -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)
|
||||
}
|
||||
|
||||
// 원작 섹션 표시/숨김
|
||||
|
||||
Reference in New Issue
Block a user