Flutter

[Flutter] Expanded 위젯

미로910 2024. 11. 6. 12:14
  • 위젯 크기를 수치로 설정하지 않고, 비율로 설정할 때 사용하는 위젯
  • 화면 사이즈가 다양할 수 있기 때문에, 수치로 위젯 크기를 설정할 경우, 여러 화면 사이즈 대응이 어려울 수 있음
  • 따라서, 비율로 위젯 크기를 설정하는 방법에 대해 알아둘 필요가 있음
  • Expanded 위젯의 flex 속성은 각 자식 위젯이 다른 자식 위젯과 비교하여 차지해야 하는 공간의 양을 지정하는 데 사용
  • 다음 예제에서는 첫 번째 Expanded 위젯의 flex 속성을 1로, 두 번째 Expanded 위젯의 flex 속성을 2로 설정
    • 첫 번째 Expanded 위젯은 Column의 1/3, 두 번째 Expanded 위젯은 Column의 2/3 공간을 차지하며 화면에 표시됨

 

import 'package:flutter/material.dart';

void main() {
  runApp(MyApp9());
}

class MyApp9 extends StatelessWidget {
  const MyApp9({super.key});

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        appBar: AppBar(
          title: Text(
            'Align Widget Example',
            style: TextStyle(fontWeight: FontWeight.bold),
          ),
        ),
        body: SizedBox(
          width: double.infinity,
          child: Column(
            children: [
              Expanded(
                flex: 2,
                child: Container(
                  color: Colors.red,
                  child: Center(child: Text('first item')),
                ),
              ),
              Expanded(
                flex: 1,
                child: Container(
                  color: Colors.blue,
                  child: Center(child: Text('second item')),
                ),
              ),
            ],
          ),
        ),
      ),
    );
  }
}

'Flutter' 카테고리의 다른 글

[Flutter] 텍스트 폰트 설정하기  (0) 2024.11.06
[Flutter] 이미지 삽입하기  (0) 2024.11.06
[Flutter] Align 위젯  (0) 2024.11.06
[Flutter] Stack 위젯  (0) 2024.11.06
[Flutter] AppBar 사용법과 주요 property  (0) 2024.11.06