공통적으로 적용하는 스타일, 상수들을 따로 모아두는 파일을 하나 만드는 게 도움이 된다.
constants.dart라는 파일에 여러 상수와 스타일 등등을 모아 두었다. 너무 당연한 말이지만 반드시 const로 선언할 필요는 없다. 연산을 처리하는 green[800] 같은 것을 사용하려면 final로 선언해야 한다.
여기서 하나 체크할 점은 모든 변수 앞에 소문자 'k'를 붙인 것이다. 이건 나만의 버릇이 아니라 구글 flutter팀에서 적용하는 공통된 코딩 컨벤션이다. (베이스 파일을 까보면 나온다) 일관성을 위해 지켜주도록 하자.
import 'package:flutter/material.dart';
const kTextStyle labelTextStyle =
TextStyle(color: Color(0xff85828E), fontSize: 18.0);
const double kBottomContainerHeight = 75.0;
const Color kBottomContainerColor = Color(0xffFF2A4E);
const MaterialAccentColor kReusableContainerColor = Colors.amberAccent;
const kNumberinScreen = TextStyle(
fontSize: 50.0, fontWeight: FontWeight.w900, color: Color(0xff85828E));
final kResultTextStyle = TextStyle(
fontSize: 35.0, color: Colors.green[800], fontWeight: FontWeight.bold);
그런데 혹여 이러한 상수에게 특정 값만 바꾸고 싶을 때가 많은 것이다. 대표적으로, 어떤 스타일을 적용했는데 폰트 사이즈만 조금 줄인다거나, 색깔을 바꾸는 등의 방법 말이다.
이 경우 .copyWith 메서드를 사용하는 것이 좋다. 사용 방법은 기존의 상수를 불러온 후 메서드를 불러온 후에 수정하는 것 뿐이다.
Text("CALCULATE", style: kNumberinScreen.copyWith(color: Colors.black)),),
'📱 Mobile > 📱 (old) Flutter v 1.0' 카테고리의 다른 글
API 통신을 위한 http 패키지 및 json 활용 + Loader(spinner) (0) | 2020.05.22 |
---|---|
stful 위젯의 lifecycle (0) | 2020.05.21 |
커스텀 위젯 만들기 (0) | 2020.05.19 |
변수 Final (runtime) vs Const (compile-time constants) (0) | 2020.05.18 |
Theme, ThemeData 살펴보기 + Hex 값으로 Color 사용하기 (0) | 2020.05.18 |