ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Flutter] Wrap
    함께 공부하는 Flutter 2024. 1. 1. 21:47
    반응형

    Wrap 위젯은 자식 위젯들을 행이나 열의 형태로 배치하면서 자동으로 줄바꿈을 처리하는 위젯입니다. Wrap은 공간이 부족할 때 자식 위젯을 다음 행 또는 열로 이동시켜 적절한 크기로 배열합니다. 이는 특히 가로 공간이 유동적이거나 화면 크기에 따라 동적으로 변할 때 유용합니다.

    다음은 Wrap 위젯의 주요 속성들입니다:

    1. alignment: 자식 위젯들의 정렬 방식을 설정합니다. WrapAlignment 열거형을 통해 설정할 수 있으며, 예를 들어 WrapAlignment.start, WrapAlignment.center, WrapAlignment.end 등이 있습니다.

    2. direction: 자식 위젯들을 배치할 방향을 설정합니다. Axis 열거형을 통해 설정하며, 기본값은 Axis.horizontal입니다. Axis.vertical로 설정하면 세로 방향으로 배치됩니다.

    3. spacing: 자식 위젯들 간의 간격을 설정합니다.

    4. runSpacing: 줄 간의 간격을 설정합니다.

    5. textDirection: 텍스트의 방향을 설정합니다. TextDirection 열거형을 사용하며, 예를 들어 TextDirection.ltr 또는 TextDirection.rtl이 있습니다.

    6. children: Wrap에 포함될 자식 위젯들을 나타내는 리스트입니다.

    다음은 간단한 예제 코드입니다:

    import 'package:flutter/material.dart';
    
    void main() {
      runApp(MyApp());
    }
    
    class MyApp extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return MaterialApp(
          home: Scaffold(
            appBar: AppBar(
              title: Text('Wrap Widget Example'),
            ),
            body: Wrap(
              alignment: WrapAlignment.start,
              direction: Axis.horizontal,
              spacing: 8.0,
              runSpacing: 8.0,
              children: List.generate(
                10,
                (index) => Chip(
                  label: Text('Item $index'),
                  backgroundColor: Colors.blue,
                ),
              ),
            ),
          ),
        );
      }
    }

    위 코드에서는 Wrap 위젯을 사용하여 10개의 Chip 위젯을 가로로 나열하고, 일정한 간격을 유지하며 자동으로 줄바꿈을 처리하도록 하였습니다.

    반응형
Designed by Tistory.