inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

디자인 마무리하기

pubspec.yaml에서 font를 추가하면서 weight 값을 지정하는 것이 의미가 있는 것인지 문의

43

Myoungsu Park

작성한 질문수 5

0

안녕하세요. 좋은 강의 만들어 주셔서 감사합니다.

 

pubspec.yaml 에서 font를 추가하면서 weight 값도 추가해주는데요.

이 값일 빼거나, 다른 값으로 변경해서 테스트를 해도 변화가 없는것 같던데요. 그래서 의미가 없는 코드처럼 보여서요.

제가 맞게 파악하고 있는 것일까요?

 

아래 내용은 강사님께서 수업하시면서 말씀하신 내용을 주석으로 남겼던 부분입니다.

 

# 패밀리는 폰트의 종류를 의미한다.(철자는 마음대로 지정해도 된다) fonts: - family: parisienne fonts: #fonts는 실제 적용될 폰트를 의미한다. - asset: asset/font/Parisienne-Regular.ttf #asset에 실제로 사용될 폰트를 선택해준다. - family: sunflower fonts: #Medium, Bold는 더 굵은것이라는 것을 구분하기 위해서 명시해줘야 한다. - asset: asset/font/Sunflower-Light.ttf - asset: asset/font/Sunflower-Medium.ttf weight: 700 # 숫자는 마음대로 넣을 수 있다. 코드에서 weight500를 사용하면 Medium 폰트를 사용할 것이라는 뜻이다. - asset: asset/font/Sunflower-Bold.ttf weight: 500 # 숫자는 마음대로 넣을 수 있다. 코드에서 weight500를 사용하면 Medium 폰트를 사용할 것이라는 뜻이다.

flutter 클론코딩

답변 1

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다. Myoungsu Park님!

pubspec.yaml 파일에서 폰트의 weight 값을 지정하는 것은 Flutter 앱에서 폰트의 다양한 굵기를 활용할 수 있게 해주는 중요한 설정입니다. Flutter에서는 동일한 폰트 내에서 여러 굵기를 지원하는 경우, 각 굵기별로 asset과 weight를 정의하여 폰트의 일관성을 유지할 수 있습니다.

왜 weight 값을 설정할까요?

  1. 일관된 스타일 보장: Flutter 앱 내에서 다양한 텍스트 스타일을 적용하기 위해 각 폰트의 굵기를 명시적으로 설정합니다. 예를 들어, 표제글에 Bold체, 본문에 Regular체 등을 사용하여 디자인 일관성을 제공합니다.

  2. 여러 굵기의 폰트 지원: 하나의 폰트 패밀리에서 Light, Medium, Bold와 같은 여러 굵기를 사용할 수 있습니다. 이러한 다양한 굵기를 지원하려면 각 굵기에 맞는 weight 값을 지정해야 합니다.

  3. 명확한 매핑: weight 값을 통해 코드에서 특정 굵기의 폰트를 쉽게 식별하고 사용할 수 있게 됩니다. 예를 들어, 코드에서 weight: 500 을 호출하면 Medium 폰트가 사용되도록 매핑할 수 있습니다.

테스트 결과 변화가 없는 이유

폰트를 추가한 이후에 weight 값을 다른 숫자로 변경했지만 변화가 없었다고 느끼신 이유는 다음과 같습니다:
- 폰트 파일에 따른 제한: 실제로 사용한 폰트 파일이 그 굵기의 여러 변종을 포함하고 있지 않다면, weight를 변경해도 렌더링 결과에 변화가 없을 수 있습니다.
- 잘못된 매핑: pubspec.yaml 파일에서 정의한 weight 값과 사용하는 코드 내 정의가 정확히 매핑되지 않는 경우 폰트 변경이 반영되지 않을 수 있습니다.

관련된 질문과 해결 방법은 다음의 링크를 통해 자세히 살펴보실 수 있습니다:

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

198강 (){onTap(e);}의 이해 돕기

0

28

1

video_call 플러그인 설치후 에러 발생

0

45

1

SDK 안드로이드 설치 질문!

0

60

1

코드팩토리 디스코드 링크 다시 부탁드려요~

0

92

1

Webview를 이용해서 URL 상의 페이지 출력 불가

0

70

1

홈스크린 함수를 함축해서 main.dart에 옮기는 문제

0

55

1

플레이스토어

0

59

1

아고라 엔진 init 함수의 반환타입이 Future<void> 이것의 의미는 무엇인가요?

0

55

1

가이드라인 질문

0

57

0

emulator 에러 환경설정 뭐가 문제 일까요??

0

77

1

emulator 실행 오류

0

93

3

Column을 가로방향 최대 사이즈를 차지하도록 하는 방법에 관련

0

71

1

setState()를 호출하지 않으면 build가 실행 안되는 건가요?

0

53

1

video_call 플러그인 설치시 에러문제

0

64

1

children 안의 if 문에서 { } 못쓰는 이유?

0

48

1

이렇게 오류가 떠요

0

64

1

AppBar 사용했는데

0

61

2

[문제해결] '오늘도 출첵!' 의 171번 강의에서 중요한 문제를 발견했습니다

0

56

1

StatefulWidget 실습 에러가 발생합니다.[해결완료]

0

63

1

Video Player 프로젝트에 대한 추가 질문

0

53

0

Row위젯이나 column위젯의 위치는 누가 정하나요??

0

42

1

geolocator 오류때문에 개발진행이 불가능입니다

0

63

1

API 관련 이슈

0

86

2

VoidCallback 뒤에 null 연산자 표기에 관한 질문

0

47

1