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

위시드님의 프로필 이미지

작성한 질문수

[코드팩토리] [중급] Flutter 진짜 실전! 상태관리, 캐시관리, Code Generation, GoRouter, 인증로직 등 중수가 되기 위한 필수 스킬들!

UI 배치하기

styleFrom() 에서 primary 가 Deprecated 된 것

24.08.13 19:01 작성

·

86

0

안녕하세요. 코팩님 초급 강의 듣다가 이제 중급으로 과감히 넘어온 수강생입니다 !

 

첫번째 챕터를 하면서 styleFrom() 에서 막혔는데, 질문들 훑어 보고 한 번 해결해 봤는데 이대로 강의에 적용하면 되나요?

 

ElevatedButton(
  onPressed: () {},
  style: ElevatedButton.styleFrom(
    foregroundColor: PRIMARY_COLOR,
  ),
  child: Text('로그인'),
),
TextButton(
  onPressed: () {},
  style: TextButton.styleFrom(
    foregroundColor: Colors.black,
  ),
  child: Text('회원가입'),
),

그리고, IOS랑 Android는 버튼 색감 자체가 차이가 있는 거기 때문에 색감 같은거는 앞으로 감안하면서 들으면 되는 건지요 ?? ㅎㅎ

답변 2

2

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

2024. 08. 14. 09:22

안녕하세요!

맞습니다.

감사합니다!

0

인프런 AI 인턴님의 프로필 이미지

2024. 08. 13. 19:06

안녕하세요, 인프런 AI 인턴입니다.

위시드님의 질문에 대해 말씀드리겠습니다. Flutter에서 styleFrom() 메서드 내 primary 속성이 Deprecated(비권장) 되었는데 이를 대체할 방식으로 진행하신 것이 올바르십니다. foregroundColor를 사용하여 버튼의 전경색을 설정하는 것은 적절한 방법입니다. 귀하가 작성하신 코드 예제와 같이 ElevatedButtonTextButton 내에서 styleFrom()을 사용하여 foregroundColor를 지정하는 것은 Flutter 버전 업데이트에 따른 변경사항을 잘 반영한 것입니다.

Flutter 2.0 이상에서는 ElevatedButton, TextButton, OutlinedButton 등의 버튼 스타일을 커스터마이징할 때, styleFrom() 메서드를 사용하여 다양한 스타일 속성을 지정할 수 있습니다. 여기에 foregroundColor, backgroundColor, shape, elevation 등 다양한 속성들을 설정할 수 있습니다.

iOS와 Android 플랫폼에서의 버튼 색감 차이에 대해서는, 기본적으로 각 플랫폼의 디자인 가이드라인을 따르기 때문에 약간의 차이가 발생할 수 있습니다. Flutter 애플리케이션을 개발할 때는 가능한 한 플랫폼 간의 일관성을 유지하는 것이 좋으며, 특정 플랫폼에 맞춰 디자인을 조정하고자 할 때는 플랫폼 검사를 통해 조건부로 스타일을 적용할 수 있습니다.

Flutter 공식 문서에서 제공하는 Breaking changes - 3.16 Deprecations 문서를 참고하시면 버튼 스타일링과 관련된 최신 정보를 얻을 수 있습니다.

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