2024/11/11 7

[Flutter] 쇼핑 카트 앱 만들어 보기

💡 작업 순서constants.dart 파일 작업 theme.dart 파일 작업.. header.dart… details.dart 구조 constants.dart 파일 작업import 'package:flutter/material.dart';// 3개 상수 미리 정의 (재활용)const kPrimaryColor = MaterialColor( 0xFFeeeeee, { 50: Color(0xFFeeeeee), 100: Color(0xFFeeeeee), 200: Color(0xFFeeeeee), 300: Color(0xFFeeeeee), 400: Color(0xFFeeeeee), 500: Color(0xFFeeeeee), 600: Color(0xFFeeeeee), ..

Flutter 2024.11.11

[Flutter] PageView 위젯

PageView 위젯 스와이프 이벤트에 반응하여 항목을 보여주는 위젯PageController의 initialPage로 처음 보일 페이지를 설정할 수 있고, viewportFraction으로 현재 페이지가 화면에 차지하는 비율도 설정 가능예: viewportFraction: 0.7이면 현재 페이지가 화면에 70%, 나머지 30%가 이전과 다음 페이지가 살짝 보이게 됨PageController 객체를 PageView의 controller 속성에 적용하여, PageController 설정을 반영시킬 수 있음 import 'package:flutter/material.dart';void main() { runApp(MyApp1());}class MyApp1 extends StatelessWidget { c..

Flutter 2024.11.11

[Flutter] GridView 위젯

GridView 위젯 리스트 뷰와 마찬가지로 항목을 나열하는 위젯이지만, 리스트 뷰와 달리 한 줄에 여러 개를 함께 나열할 수 있음 (그리드 형태)리스트 뷰와 마찬가지로 그리드뷰도 GridView.builder() 생성자를 제공하며,itemCount, itemBuilder 속성을 통해 항목의 개수와 위젯을 지정gridDelegate 속성을 설정해야 함이 속성에는 SliverGridDelegateWithFixedCrossAxisCount 객체를 지정해줘야 함해당 객체에서 crossAxisCount 값이 한 줄에 함께 나와야 하는 항목의 개수임그리드 두 방향을 설정하지 않으면, crossAxisCount는 가로를 가리킴참고: scrollDirection 속성에 Axis.horizontal을 설정하면, cro..

Flutter 2024.11.11

[Flutter] ListView 사용법과 주요 property

가장 일반적으로 사용되는 스크롤 위젯ListView는 주로 다음과 같은 방식으로 사용일반적인 ListView를 명시적으로 호출하고 children 전달하는 방법 (적은 데이터에 사용시 용이함)ListView.builder를 사용하여 동적으로 호출ListView.separated는 ListView.builder 기능에 구분선 사용 가능주요 propertyreverse: true이면 bottom에서부터 리스트 표시padding: 리스트 아이템 간격 (EdgeInsets로 적용)itemCount: 동적 리스트 아이템 개수 (ListView.builder/ListView.separated에서 사용 가능)itemBuilder: 각 동적 리스트 아이템 정의 (ListView.builder/ListView.separ..

Flutter 2024.11.11

[Flutter] GlobalKey란

GlobalKey는 Flutter에서 위젯 트리 내에서 특정 위젯을 유일하게 식별할 수 있는 키입니다. 이 키를 사용하면 해당 위젯이나 그 상태(State)에 직접 접근하여 조작할 수 있습니다. 상태(State)란? 위젯이 현재 가지고 있는 데이터나 속성을 의미하며, 시간이 지남에 따라 변경될 수 있는 값입니다.StatelessWidget VS StatefulWidget의 차이StatelessWidget정의: 상태를 가지지 않는 위젯입니다. 내부에 데이터나 속성을 가질 수 있으나 내부에 변경 가능한 데이터나 속성이 없기 때문에 자체적으로 UI가 업데이트되지 않습니다.하지만(추가 설명)외부로부터의 변화: StatelessWidget은 부모 위젯이나 외부에서 전달된 데이터가 변경되면 재빌드되어 UI가 업데이..

Flutter 2024.11.11

[Flutter] Form 위젯 연습 (피드백 폼 앱)

사용자가 이름, 이메일, 코멘트를 입력하고, 앱을 평가하고 고객 서비스 만족도를 선택한 뒤, 뉴스레터 구독 여부를 설정하여 폼을 제출할 수 있습니다. 앱은 사용자 피드백을 쉽게 받을 수 있도록 설계.import 'package:flutter/material.dart';void main() { runApp(FeedbackFormApp());}// 한 파일안에 여러개의 클래스를 만들 수 있다.class FeedbackFormApp extends StatelessWidget { const FeedbackFormApp({super.key}); @override Widget build(BuildContext context) { return MaterialApp( debugShowChecked..

Flutter 2024.11.11

[Flutter] 플러터 기본기 다지기 - 3 (Form 위젯)

Form 위젯 TextField는 단순히 하나의 텍스트 입력을 다루는데 반해서, Form은 그 자체로 입력 필드를 가지고 있지 않지만, FormField 위젯들을 그룹화하여 관리하며, 복잡한 유효성 검사와 보다 쉽게 할 수 있는 위젯다른 위젯과 달리 Form 위젯은 자체적인 화면을 제공하지는 않으며, 사용자가 입력한 데이터의 유효성 검증, 데이터 관리 관련 기능을 제공함Form 위젯 내에서 TextFormField 위젯을 사용하여 각 데이터 입력을 받는 것이 일반적임Form 위젯 작성 방법은 다음과 같음 1. Form 위젯을 위한 GlobalKey를 만들어야 함. GlobalKey는 FormState 전체에 액세스하는 데 사용되며, 이 객체는 폼 데이터의 유효성을 검사하고 저장하는 데 사용됨final _..

Flutter 2024.11.11