Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- 플루터
- 오블완
- 개발 어렵당.ㅠ
- nGinder
- 핀포인트
- 7879
- 월급루팡 일지
- 논블록킹 성능
- reids
- 티스토리챌린지
- 애자일 싫타
- pinpoint 2.5.3
- R2DBC Paging
- jar 배포
- Ingress Controller Fake
- LPOS
- UnsupportedOperationException
- hbase 저장공간 설정
- Loki 로그
- Armeria
- save/update
- jsonMarshaller
- formik
- pinpoint
- OIDC
- ㅉ때
- RedirectService
- fake jwt
- 노드간 통신
- intellij
Archives
- Today
- Total
대머리개발자
Flutter - 컴포넌트(2) 본문
728x90
작업을 하면 할 수록 리액트에서 고민했던 부분들과 오버랩이 많이 된다.
또 느끼는거지만 다르지 않다.
앞서 로또번호 하나를 만들기 위해서 WinNumber 객체에 일일이 인자값으로 넣어서 번호 스타일을 만들었다.
Row(
children: [
WinNumber(context.watch<LottoProvider>().lottoNumber),
// WinNumber(context.watch<LottoProvider>().lottoNumber[1]),
// WinNumber(context.watch<LottoProvider>().lottoNumber[2]),
// WinNumber(context.watch<LottoProvider>().lottoNumber[3]),
// WinNumber(context.watch<LottoProvider>().lottoNumber[4]),
// WinNumber(context.watch<LottoProvider>().lottoNumber[5])
],
),
해당 부분을 배열 전체로 받아서 처리하도록 변경
1. 숫자의 layOut을 하나의 컨테이너로 만들고 배열로 add 한다.
2. 전체 프레임에 숫자 배열을 child에 밀어 넣는다.
class WinNumber extends StatelessWidget{
...
// 추천 번호들 나래비!
SizedBox _getLottoNumber() {
List<Container> numbers = [];
for(var i = 0; i < lottoNumber.length; i ++){
var number = lottoNumber[i];
var numberTxt = number.toString();
if(number < 9) {
numberTxt = "0$numberTxt"; // 일의 자리는 0을 붙여 준다.
}
numbers.add(layOutNumber(number, numberTxt));
}
return SizedBox(
child: Row(children: numbers)
);
}
// 번호 하나의 템플릿
Container layOutNumber(int number, String numberTxt){
return Container(
margin: const EdgeInsets.all(10.0),
padding: const EdgeInsets.all(10.0),
decoration: BoxDecoration(
color: _getNumberColor(number),
borderRadius: BorderRadius.circular(360),
border: Border.all(color: Colors.black12, width: 1),
),
child: Text(numberTxt, style: TextStyle(fontWeight:FontWeight.w700), textAlign:TextAlign.center)
);
}
@override
Widget build(BuildContext context) {
return _getLottoNumber();
}
}
결국 리액트에서 화면 단위의 템플릿을 만들어 넣고 불러다 쓰는 것과 다르지 않다.
menuBox 만들어 넣고 스슥사삭
## 작업시 제일 어려운 부분은 변수 및 파일명에 대한 네이밍이다....아찔하다.
영어공부... 아닌 국어공부좀... 아니 독서좀 많이 할 걸......ㅠㅠ
728x90
'개발이야기 > 플러터' 카테고리의 다른 글
flutter 로또 어플 마무의리..(?) (0) | 2023.06.27 |
---|---|
Flutter 상태관리 (1) | 2023.06.08 |
Flutter - 컴포넌트 (0) | 2023.05.31 |
Flutter - Error: Not a constant expression. (0) | 2023.05.30 |
Flutter - 화면구성 (1) | 2023.05.26 |