• 카테고리

    질문 & 답변
  • 세부 분야

    모바일 앱 개발

  • 해결 여부

    미해결

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

23.03.17 12:37 작성 조회수 586

1

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

답변 2

·

답변을 작성해보세요.

0

김응철님의 프로필

김응철

2023.08.02

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이 아닙니다.

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

감사합니다!