diff --git a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/CharacterDetailActivity.kt b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/CharacterDetailActivity.kt index 78f5e5cd..1602d2b2 100644 --- a/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/CharacterDetailActivity.kt +++ b/app/src/main/java/kr/co/vividnext/sodalive/chat/character/detail/CharacterDetailActivity.kt @@ -167,19 +167,30 @@ class CharacterDetailActivity : BaseActivity( // 세계관 내용과 버튼 가시성 초기화 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) } // 원작 섹션 표시/숨김