From 61cfbe249ca3f2aabde90b237b6ba257b99ff383 Mon Sep 17 00:00:00 2001 From: klaus Date: Mon, 18 Aug 2025 19:13:26 +0900 Subject: [PATCH] =?UTF-8?q?fix(character-detail):=20=EB=8D=94=EB=B3=B4?= =?UTF-8?q?=EA=B8=B0=20=EB=B2=84=ED=8A=BC=20=EB=AF=B8=ED=91=9C=EC=8B=9C=20?= =?UTF-8?q?=EB=AC=B8=EC=A0=9C=20=EC=88=98=EC=A0=95=20(=EC=A4=84=20?= =?UTF-8?q?=EC=88=98=20=EC=B8=A1=EC=A0=95=20=EC=8B=9C=EC=A0=90=20=EC=A1=B0?= =?UTF-8?q?=EC=A0=95)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 세계관/성격 텍스트의 줄 수를 maxLines=3 적용 이전에 측정하도록 순서 변경. 측정 후 더보기 가시성 결정, 그 다음 접힘 레이아웃 적용. 확장 상태 플래그 및 아이콘/문구 초기화 추가. --- .../detail/CharacterDetailActivity.kt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) 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) } // 원작 섹션 표시/숨김