04 구성 - 레이아웃 - 상자 및 수정자

소개:



구성 가능한 함수는 Compose의 기본 빌딩 블록입니다. 구성 가능한 함수는 UI의 일부를 설명하는 함수 방출 단위입니다. 이 함수는 일부 입력을 받아 화면에 표시되는 내용을 생성합니다.
이제 표준 레이아웃 구성 가능 함수(또는 Flutter의 위젯)에 대해 이야기하고 이를 사용하여 구성하여 자신만의 구성 가능 기능을 생성할 것입니다.

상자:



Flutter에서는 Container에 가깝지만 조금 다릅니다. Box()의 간단한 예를 살펴보겠습니다.

예 1:




@Composable
fun MyBox()
{
    Box(
        contentAlignment = Alignment.TopEnd,
        modifier = Modifier.background(Color.Green)
       )
    {
        Text(text = "Hello Box 1")
    }
}



지정하지 않으면 Box()의 기본 크기는 자식 크기입니다. 이 예에서 Box()의 크기는 Text()의 크기입니다. 또한 Box()는 2개의 매개변수인 contentAlignment와 modifier를 사용합니다. 수정자에 대해 먼저 이야기하겠습니다.

수식어:



수정자를 사용하면 컴포저블을 장식하거나 보강할 수 있습니다. 수정자를 사용하면 다음과 같은 작업을 수행할 수 있습니다.
• 컴포저블의 크기, 레이아웃, 동작 및 모양 변경
• 접근성 라벨과 같은 정보 추가
• 프로세스 사용자 입력
• 요소를 클릭 가능, 스크롤 가능, 드래그 가능 또는 확대/축소 가능하게 만드는 것과 같은 높은 수준의 상호 작용 추가
즉, Modifier는 Compose UI 요소에 동작을 장식하거나 추가하는 수정자 요소의 정렬된 불변 컬렉션입니다. 예를 들어 배경, 패딩 및 클릭 이벤트 리스너는 행, 텍스트 또는 버튼에 동작을 장식하거나 추가합니다.
수정자 함수를 함께 연결하여 구성할 수 있지만 수정자 함수의 순서가 중요합니다. 각 함수는 이전 함수에서 반환된 Modifier를 변경하므로 시퀀스가 ​​최종 결과에 영향을 미칩니다.
이에 대한 예를 살펴보겠습니다.

예 2:




@Composable
fun MyBox()
{
    Box(
        contentAlignment = Alignment.TopEnd,
        modifier = Modifier.background(Color.Green)
            .padding(all = 30.dp)

       )
    {
        Text(text = "Hello Box 1")
    }
}



Modifier 함수 background(Color.Green)이 먼저 상자 배경색을 지정하기 위해 호출한 다음 Modifier 함수 padding(all = 30.dp)을 호출하여 30dp로 모든 측면에서 상자에 패딩을 제공합니다. 이제 우리는 어떤 일이 일어날지 알아보기 위해 코드를 뒤집을 것입니까?!!

예 3:




@Composable
fun MyBox()
{
    Box(
        contentAlignment = Alignment.TopEnd,
        modifier = Modifier.padding(all = 30.dp)
            .background(Color.Green)
       )
    {
        Text(text = "Hello Box 1")
    }
}



이제 패딩은 흰색이고 배경색은 패딩 이후에 시작됩니다.
다음 수업에서는 Modifier 기능에 대해 더 자세히 이야기하겠습니다. 그럼 만나요😄

================================================

디스코드 서버에서 함께 하실 수 있습니다.
https://discord.gg/TWnnBmS
(#kotlin-and-compose) 채널에서 질문을 해주세요.

좋은 웹페이지 즐겨찾기