구글지도 사용하기 중 코드 질문..
335
작성한 질문수 2
아래 코드에서 _HomeScreenState 클래스에서 appBar와 Body를 나누신 후에, 코드 정리중
appBar는 함수로, _CustomGoogleMap과 ChooCheckButton은 위젯으로 분리하여 만들어주셨는데, 그 이유가 뭔가요? appBar는 위젯으로 관리를 하면 안되는건가요?
import 'package:flutter/material.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
static final LatLng companyLatLng = LatLng(37.5233273, 126.921252);
static final CameraPosition initialPosition = CameraPosition(
target: companyLatLng,
zoom: 15,
);
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: renderAppbar(),
body: Column(
children: [
_CustomGoogleMap(initialPosition: initialPosition),
_ChoolCheckButton(),
],
),
);
}
AppBar renderAppbar() {
return AppBar(
title: Text(
'오늘도 출근',
style: TextStyle(
color: Colors.blue,
fontWeight: FontWeight.w700,
),
),
backgroundColor: Colors.white,
);
}
}
class _CustomGoogleMap extends StatelessWidget {
final CameraPosition initialPosition;
const _CustomGoogleMap({
required this.initialPosition,
Key? key,
}) : super(key: key);
@override
Widget build(BuildContext context) {
return Expanded(
flex: 5,
child: GoogleMap(
mapType: MapType.normal,
initialCameraPosition: initialPosition,
),
);
}
}
class _ChoolCheckButton extends StatelessWidget {
const _ChoolCheckButton({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Expanded(
child: Text(
'출근',
),
);
}
}
답변 1
0
안녕하세요!
상관은 없습니다. 다만 AppBar는 일반 Widget이 아니라 PreferredSizedWidget을 Implement 해야합니다.
클래스로 만들경우 일반 위젯은 PreferredSizedWidget을 Implement 하지 않기 때문에 직접 implement 해줘야합니다.
직접 implement 해준다면 클래스로 생성해도 괜찮습니다.
감사합니다!
video_call 플러그인 설치후 에러 발생
0
42
1
SDK 안드로이드 설치 질문!
0
56
1
코드팩토리 디스코드 링크 다시 부탁드려요~
0
90
1
Webview를 이용해서 URL 상의 페이지 출력 불가
0
64
1
홈스크린 함수를 함축해서 main.dart에 옮기는 문제
0
51
1
플레이스토어
0
57
1
아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?
0
53
1
가이드라인 질문
0
55
0
emulator 에러 환경설정 뭐가 문제 일까요??
0
75
1
emulator 실행 오류
0
91
3
Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련
0
68
1
pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의
0
41
1
setState()를 호출하지 않으면 build가 실행 안되는 건가요?
0
51
1
video_call 플러그인 설치시 에러문제
0
61
1
children 안의 if 문에서 { } 못쓰는 이유?
0
46
1
이렇게 오류가 떠요
0
61
1
AppBar 사용했는데
0
60
2
[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다
0
54
1
StatefulWidget 실습 에러가 발생합니다.[해결완료]
0
61
1
Video Player 프로젝트에 대한 추가 질문
0
50
0
Row위젯이나 column위젯의 위치는 누가 정하나요??
0
39
1
geolocator 오류때문에 개발진행이 불가능입니다
0
62
1
API 관련 이슈
0
84
2
VoidCallback 뒤에 null 연산자 표기에 관한 질문
0
45
1





