Flutter 앱 개발 시 일관적인 디자인 유지를 위해 스타일을 효과적으로 관리하는 것이 중요합니다.
이 블로그에서는 두 가지 유용한 클래스 FontSizeCollection과 ColorsCollection을 소개하여 텍스트 크기와 컬러를 쉽게 관리하는 방법을 설명 드립니다.
1. FontSizeCollection
FontSizeCollection 클래스는 앱 전체에서 사용되는 폰트 크기를 관리하는 데 도움이 됩니다.
이 클래스는 싱글턴 패턴을 사용하여 앱에서 단일 인스턴스만 생성되도록 보장합니다.
- 코드 설명
class FontSizeCollection {
static final FontSizeCollection _instance = FontSizeCollection._internal();
factory FontSizeCollection() {
return _instance;
}
FontSizeCollection._internal();
double get buttonFontSize => 18.0;
}
- 사용법
final FontSizeCollection fontsize = FontSizeCollection();
Text(
'회원 가입을 해주셔서 감사합니다.\\n\\n',
style: TextStyle(
fontSize: fontsize.buttonFontSize, // buttonFontSize 속성 사용
color: Colors.black,
fontWeight: FontWeight.bold,
),
);
위 코드에서 fontsize.buttonFontSize 속성을 사용하여 버튼 텍스트의 크기를 18.0으로 설정합니다.
마찬가지로 다른 텍스트 스타일 속성값도 필요에 따라 설정할 수 있습니다.
2. ColorsCollection
ColorsCollection 클래스는 앱 전체에서 사용되는 다양한 색상을 관리하는 데 도움이 됩니다.
마찬가지로 싱글턴 패턴을 사용하여 앱에서 단일 인스턴스만 생성됩니다.
- 코드 설명
class ColorsCollection {
static final ColorsCollection _instance = ColorsCollection._internal();
factory ColorsCollection() {
return _instance;
}
ColorsCollection._internal();
Color get background => Colors.black;
Color get textColor => Colors.white60;
Color get iconColor => Colors.white;
Color get cardColor => Colors.white12;
Color get stateIsIng => Colors.blue;
Color get stateIsClose => Colors.red;
}
- 사용법
final ColorsCollection colors = ColorsCollection();
Text(
'확인',
style: TextStyle(
color: colors.iconColor, // iconColor 속성 사용
fontSize: 16.0,
fontWeight: FontWeight.bold,
),
);
위 코드에서 colors.iconColor 속성을 사용하여 확인 버튼 텍스트의 색상을 white로 설정합니다.
다양한 UI 요소에 필요한 색상을 ColorsCollection 클래스를 통해 관리할 수 있습니다.
3. 장점
- 일관성 유지: 앱 전체에서 일관적인 스타일을 유지하기 쉽습니다.
- 코드 중복 방지: 스타일 값을 한 곳에서 관리하여 코드 중복을 줄일 수 있습니다.
- 유지 보수 용이: 스타일 값을 변경해야 할 때 한 곳만 수정하면 됩니다.
4. 추가 활용법
- 텍스트 스타일
TextStyle titleTextStyle = TextStyle(
fontSize: FontSizeCollection().titleSize,
color: ColorsCollection().textColorPrimary,
);
- 버튼 스타일
ElevatedButton(
onPressed: () {},
child: Text('버튼'),
style: ElevatedButton.styleFrom(
primary: ColorsCollection().buttonColor,
textStyle: TextStyle(
color: ColorsCollection().textColorOnPrimary,
fontSize: FontSizeCollection().buttonTextSize,
),
),
);
5. 마무리
FontSizeCollection과 ColorsCollection 클래스를 사용하면 Flutter 앱의 스타일을 효과적으로 관리할 수 있습니다.
이를 통해 일관적이고 유지 관리가 용이한 디자인을 구현할 수 있습니다.
수발가족을 위한 일기장 “나비일기장”
https://play.google.com/store/apps/details?id=com.maccrey.navi_diary_release
구글플레이 앱 배포의 시작! 비공개테스트 20명의 테스터모집을 위한 앱 "테스터 쉐어"
https://play.google.com/store/apps/details?id=com.maccrey.tester_share_release
카카오톡 오픈 채팅방
'Flutter > Flutter Programming' 카테고리의 다른 글
플러터에서 자동 로그인 구현하기: 간단하고 안전한 방법 (0) | 2024.06.28 |
---|---|
Flutter에서 Timeago 패키지 활용법: 게시물 업로드 시간 계산 (0) | 2024.06.27 |
Flutter에서 문의 이메일 보내기 구현 방법 : 심층 가이드 (0) | 2024.06.27 |
Flutter 앱에서 페이지 뒤로 갔을 때 새로고침하는 방법 (0) | 2024.06.27 |
Flutter 앱에서 디바이스 세로 및 가로 모드 고정 방법 (0) | 2024.06.27 |