최데브는 오늘도 프로그래밍을 한다.

Android Compose - 컴포즈의 매력을 직접 느껴보자 본문

Android/Android Compose

Android Compose - 컴포즈의 매력을 직접 느껴보자

최데브 2021. 10. 27. 22:49
반응형

뭔가 특정 기능에 대한 내용도 아니고 그냥 컴포즈의 멋짐에 대해서 설명하고 싶어서 고민하던 끝에 제목을 이렇게 지었습니다.

 

일단 바로 코드부터 소개해보겠습니다

 

@Composable
fun MycomposeableView(){
    Scaffold {
        Column(
            Modifier
                .verticalScroll(rememberScrollState())
                .padding(50.dp)
        ) {
            for(i in 1..30){
                Greeting("Android")  
            }
        }
    }
}

@Composable
fun Greeting(name: String) {
        Text(text = "Hello $name!")
    Spacer(modifier = Modifier.size(20.dp))

}

저번 포스팅에 있던 코드를 약간 수정해봤습니다. 

그리고 이 코드의 아래 사진과 같습니다.

어떻게 이런 결과가 나왔을까요? 차근차근 설명해볼게요.

 

일단 Column 이라는게 보입니다. 세로줄을 의미하는 단어죠. 말그대로 사진처럼 그 안에있는 요소들을 세로 정렬 해줍니다. 가로로 정렬하고 싶다면 Row 를 쓰시면 되겠죠?

xml로 view를 그릴때 리니어레이아웃을 만들고 오리엔트를 버티컬로 적어주고... 하는 수고보다 훨씬 간단하게 그려지는걸 볼 수 있어요. 일단 이것만봐도 멋지다는 생각이 듭니다.

 

그런데 xml 에서 사용하던 padding , size , background 같은 속성들은 어떻게 지정해주는걸까요?

Column 의 ( ) 안에 Modifier 라는게 보입니다. 여기서 위 코드처럼 속성들을 정해줄 수 있습니다. 사이즈는 물론이고 배경색 , 높이 등등 여러가지 속성들을 지정할 수 있고 따로 스크롤뷰를 만들어서 안에 넣어줘야하는 번거로움을 

verticalScroll 하나로 바로 스크롤이 가능한 view 로 만들어주기도 하는 짧은 코드로 개발자들이 귀찮았던 작업들을 바로 동작하게 만듭니다. 이 또한 각각 속성들을 잘만 활용한다면 엄청나게 생산성이 증가할 것 같네요.

 

그리고 컴포즈는 이런것도 됩니다. 

            for(i in 1..30){
                Greeting("Android")  
            }

for 문으로 그냥 view를 생성해버립니다. 정말 view 를 그리는 메소드라고 생각해도 될 정돕니다.

 

이렇게 유연하고 빠르게 멋진 기능들을 순식간에 만들 수 있는 컴포즈의 멋짐에 대해 알아봤습니다.

 

반응형
Comments