[Android/Compose] 1줄 lineHeight
·
Android/Compose
흔히 안드로이드 컴포즈에서 디자인 시스템을 구성할 때, 디자이너가 준 typography 가이드 중 Line Height 는컴포즈 TextStyle 의 lineHeight 속성으로 구현하고 있습니다.그런데 두 줄 이상인 경우에만 정상적으로 해당 속성이 적용되고, 한 줄인 텍스트에 대해서는간격이 좁다고 느끼신적이 있으신가요? 만약 그렇다면 저와 같은 문제에 직면하셨다고 볼 수 있습니다 😮 분명 lineHeight 속성을 부여했음에도 도대체 왜 1줄에서는 적용되지 않는걸까요??이는 아래와 같이 설정된 LineHeightStyle 의 기본값에 의해 발생한 것입니다.class LineHeightStyle(val alignment: Alignment, val trim: Trim, val mode: Mode) {..
[Android/Compose] TextUnit 과 Dp
·
Android/Compose
개요컴포즈의 Text 컴포넌트에서 폰트 크기는 아래와 같이 설정할 수 있습니다. Text( text = "Android", fontSize = 16.sp) 만약 폰트 크기의 단위를 Dp 로 설정한다면 어떻게 될까요?XML 에서라면 정상적으로 사용이 가능했지만 컴포즈에서는 컴파일 오류가 발생하게 됩니다..sp 의 경우, TextUnit 을 반환하지만 .dp 는 Dp 를 반환하기 때문입니다. @Stableval Int.sp: TextUnit get() = pack(UNIT_TYPE_SP, this.toFloat())@Stableinline val Int.dp: Dp get() = Dp(this.toFloat()) 물론 앱 접근성을 확장하기 위해 시스템 폰트 설정에 따라 동적으로 크기가 변하는 Sp..