flutter
랜덤 숫자 생성 프로젝트
랜덤 숫자 생성기
버튼 디자인
버튼 디자인의 경우에는 여러가지 효과가 있어야 하기 때문에 특수한 방법으로 디자인을 해준다.
ElevatedButton(
onPressed: () {},
style: ElevatedButton.styleFrom(backgroundColor: redColor),
foregroundColor: Colors.white, // 글자 색상 변경
child: Text('버튼'),
),
[[1,2,3], [4,5,6], [7,8,9]].map((test) => Row(
children: test
.map((e) => Text(e.toString(), style: TextStyle(color: Colors.white)))
.toList(),
).toList(),)
랜덤 변수 생성
import 'dart:math';
final rand = Random();
final randomNumber = rand.nextInt(1000); // 0 ~ 999
새 페이지 생성 및 이동
스택 형태로 페이지 이동이 구성된다고 보면 된다.
따라서 push와 pop을 통해 페이지간 이동이 구현된다.
// 새 페이지로 이동하기
Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) {
return SettingScreen();
},
),
);
// 이전 페이지로 돌아가기
Navigator.of(context).pop();
페이지간 데이터 주고받기
Navigator 의 push와 pop을 통해 페이지간 이동을 구현할 수 있다.
이때 pop의 인자로 값을 넘겨주면 다시 이전 페이지에서 해당 인자로 넘겨받은 값을 사용할 수 있다.
// 이후 페이지
onSavePressed() {
Navigator.of(context).pop(maxNumber);
}
// 이전 페이지
onSettingIconPressed() async {
final result = await Navigator.of(context).push(
MaterialPageRoute(
builder: (BuildContext context) {
return SettingScreen();
},
),
);
}
🤚 저장한 뒤에 다시 세팅에 들어갔을 때 값이 그대로 저장되는 것을 구현하는 부분에 대해서 이해가 안 된다.