Flutter

PreferredSize 란?

flutter developer 2024. 5. 21. 16:56

답변 요약

위젯들의 제약(Constraints)은 부모 위젯의 영향을 받아 유연하게 조정됩니다. 하지만 앱바는 기본 사이즈인 높이 56.0을 가지고 있습니다. 이러한 높이를 바꾸어줄 때 PreferredSize를 채택합니다. 앱바 뿐만 아니라 부모 위젯에 영향을 받더라도 높이나 너비 제약을 고정시키고 싶은 위젯에 PreferredSize를 사용할 수 있습니다.


부가 설명

Preffered Widget 이 없을 경우 앱바 기본 높이 56 고정

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('Default AppBar Height'),
        ),
        body: Center(child: Text('Hello, world!')),
      ),
    );
  }
}

 

Preffered Widget 을 채택할 경우 앱바 기본 높이 56에서 100으로 변경 가능

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: PreferredSize(
          preferredSize: Size.fromHeight(100.0), // 높이를 100으로 설정
          child: AppBar(
            title: Text('Custom AppBar Height'),
          ),
        ),
        body: Center(child: Text('Hello, world!')),
      ),
    );
  }
}