플러터 프로젝트를 만들어줌
배운거)
opt up 버튼은 커서 올라간 특정 단어 전체 선택해줌. cmd d 하면 코드 아랫줄에 복사
cmd o 하면 override method들 쭉 뜨고 거기서 init이든 어떤 state든 치면 바로 나옴.
구글 폰트 같은 것도 쓰고자 하면 펍스펙 야믈에 가서 라이브러리 추가해주면 됨.
목 작업은 프론트엔드에서 서버에서 데이터를 받아오기 전 UI를 미리 작업해놓는 걸 두고 말함.
앱바 보였다 안보였다 만드는건 visibility로 감싸서 index 값(=페이지#)에 따라 노출 시키고 감추고 할 수 있음.
or null값을 줘도 되고 방법 여러개 있는 듯.
텍스트박스 만들 때 위에 닿으면 SafeArea로 감싸자.
import 'package:flutter/material.dart';
import 'package:part2_rsp_game_flutter/game/game_body.dart';
void main() {
runApp(const RSPApp());
}
class RSPApp extends StatelessWidget {
const RSPApp({super.key});
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: const Text('가위 바위 보!')
),
body: const GameBody(),
),
);
}
}
class _GameBodyState extends State<GameBody> {
late bool isDone;
@override
void initState() {
super.initState();
isDone = false;
setCpuInput();
}
@override
Widget build(BuildContext context) {
return Column(
children: [
Expanded(child: CpuInput(isDone: isDone, cpuInput: _cpuInput)),
Expanded(child: GameResult(isDone: isDone, result: getResult(), callback: reset,)),
Expanded(child: UserInput(isDone: isDone, callback: setUserInput, userInput: _userInput)),
],
);
}
class CpuInput extends StatelessWidget {
final bool isDone;
final InputType cpuInput;
const CpuInput({required this.isDone, required this.cpuInput, super.key});
# To add assets to your application, add an assets section, like this:
assets:
- assets/images/
tip) 우측 메뉴에 플러터 아웃라인 참고하여 위젯을 추출할 수도 있고 개발된 사항들 확인 가능함:
이 프로젝트 takeaway는 이미지 삽입, 간단한 동작 메커니즘 등이 있음
이후 인스타그램 클론코딩은 전반적인 UI 꾸미기에 좋은 뼈대를 제공함
[Flutter] 간단 또스 (Pagination, GetX, 폴더 구조, 개발 순서) (0) | 2024.04.24 |
---|---|
[Flutter] 간단 흔들기 카운트 앱 (xcode 국가설정, license 표시, splash screen) (0) | 2024.04.23 |
[Flutter] UI, Class, Container, Setting, Widget, Theme, Page (0) | 2024.04.22 |
[Flutter] 환경설정 (0) | 2024.04.22 |
[Dart] 기본 문법 (비동기 Future / Stream / const final) (1) | 2024.04.18 |