fix(character-detail): 더보기 버튼 미표시 문제 수정 (줄 수 측정 시점 조정)
세계관/성격 텍스트의 줄 수를 maxLines=3 적용 이전에 측정하도록 순서 변경. 측정 후 더보기 가시성 결정, 그 다음 접힘 레이아웃 적용. 확장 상태 플래그 및 아이콘/문구 초기화 추가.
This commit is contained in:
		@@ -167,19 +167,30 @@ class CharacterDetailActivity : BaseActivity<ActivityCharacterDetailBinding>(
 | 
				
			|||||||
            // 세계관 내용과 버튼 가시성 초기화
 | 
					            // 세계관 내용과 버튼 가시성 초기화
 | 
				
			||||||
            val worldviewText = detail.backgrounds?.description.orEmpty()
 | 
					            val worldviewText = detail.backgrounds?.description.orEmpty()
 | 
				
			||||||
            binding.tvWorldviewContent.text = worldviewText
 | 
					            binding.tvWorldviewContent.text = worldviewText
 | 
				
			||||||
            applyWorldviewCollapsedLayout()
 | 
					            // 먼저 전체 줄 수를 측정한 뒤 접힘 레이아웃 적용
 | 
				
			||||||
            binding.tvWorldviewContent.post {
 | 
					            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
 | 
					                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()
 | 
					            val personalityText = detail.personalities?.description.orEmpty()
 | 
				
			||||||
            binding.tvPersonalityContent.text = personalityText
 | 
					            binding.tvPersonalityContent.text = personalityText
 | 
				
			||||||
            applyPersonalityCollapsedLayout()
 | 
					            // 먼저 전체 줄 수를 측정한 뒤 접힘 레이아웃 적용
 | 
				
			||||||
            binding.tvPersonalityContent.post {
 | 
					            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
 | 
					                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