인프런 커뮤니티 질문&답변

Jihyun Won님의 프로필 이미지

작성한 질문수

[2024 최신] [코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

구글지도 사용해보기

AppBar 의 경우 CLASS 로 만들지 않고 함수로 만드는 이유가 뭔가요?

작성

·

753

1

강의에선 안된다고 하고 구체적인 설명이 없는데 혼자 강의 없이 제 프로젝트를 만들게 되면 이런 부분이 어려울 것 같아서요.

답변 2

0

class _RenderAppBar extends StatelessWidget implements PreferredSizeWidget{
  final AppBar appBar;
  
  const _RenderAppBar({super.key, required this.appBar});

  @override
  Widget build(BuildContext context) {
    return AppBar(
      title: Text(
        '오늘도 출근',
        style: TextStyle(
          color: Colors.blue,
          fontWeight: FontWeight.w700,
        ),
      ),
      backgroundColor: Colors.white,
    );;
  }

  @override
  Size get preferredSize => Size.fromHeight(appBar.preferredSize.height);
}

추가로 꼭 CLASS로 만들고 싶으시다면 이런 형태로 직접 상속받아 CLASS로 만들 수는 있습니다.

0

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요!

무언가 입력이 불가능한 상황이되면 해당 파라미터에 어떤 타입이 입력돼야하는지 확인해보시면 됩니다.

appBar 파리미터의경우 PreferredSizeWidget 타입을 입력해야하는걸 확인 할 수 있으실겁니다.

AppBar는 PreferredSizeWidget을 상속하고있으나 일반 위젯은 PreferredSizeWidget이 아닙니다.

그래서 입력이 불가합니다.

감사합니다!