#02 Text - Jetpack Compose 공부

2020. 8. 14. 23:49안드로이드 개발/📚 Jetpack 공부

Text 객체는 이제보니 기존 TextView와 일맥상통한 면이 있다. TextView도 상당히 속성이 많았는데 아니나다를까 Text 객체 또한 그렇다. 이거 조금씩 써 보면서 아무리 생각해도 기존 xml로 UI 짜는 게 훨씬 쉬운 것 같은데 Jetpack Compose를 하는 게 맞을까 현타온다.

 

Text를 전체로 풀어보면 이렇다.

 

text: String / Text 객체의 내용

modifier: Modifier / 나중에 정리해야겠지만 일단 레이아웃을 설정한다. padding, width, height 설정 가능한 듯

color: Color / 이건 그냥 컬러

fontSize: TextUnit / 글자 크기

fontStyle: FontStyle / 글자 스타일. 아마 Bold Italic인 듯

fontWeight: FontWeight / 폰트 굵기

fontFamily: FontFamily / 폰트 타입

latterSpacing: TextUnit / 자간

textDecoration: TextDecoration / 뭘까

textAlign: TextAlign / 텍스트 정렬. Left Center Right

lineHeight: TextUnit / 줄높이

overflow: TextOverflow / 텍스트 넘치게?

maxLines: Int / 최대 줄 갯수

inlineContent: Map<String, InlineTextContent>

onTextLayout: (TextLayoutResult) -> Unit

style: TextStyle

@Composable
fun defaultScreen() {
    Column {
        Text(
            text = "First Text",
            color = Color.Magenta,
            fontStyle = FontStyle.Italic,
            fontSize = 24.sp
        )
        Text("Second Text")
        Text("Third Text")
    }
}

android:layout_margin은 Modifier를 통해서 줄 수 있었다.

예를 들어 상하좌우 margin 16dp를 주려면 원래는 android:layout_margin="16dp"였다면 Jetpack Compose로는 이렇게 표현하면 된다고 한다.

modifier = Modifier.padding(16.dp)

Modifier는 나중에 심층적으로 공부를 해야 할 것 같고 TextView를 담당하는 Text는 이 정도로 정리하면 될 것 같다.