Book/개발관련

Do it! 플러터 앱프로그래밍 4장(플러터 위젯 사용법)

Vita500cc 2023. 1. 10. 20:16

1. 스캐폴드를 이용한 머티리얼 디자인 적용

  1) 머티리얼 디자인 : 구글에서 사용한 플랫디자인 지침

  2) 머티리얼 디자인 적용을 위해 스캐폴드 클래스 이용

    - 위젯을 여러개 만들때는 Row, Column 위젯을 이용(Row : 가로, Column : 세로)

 

2. 이미지와 폰트 추가

  1) 이미지 표시 방법

    - 디렉터리를 생성하고 image 삽입(ex - image.png)

    - pubspec.yaml에 해당 이미지 정보 추가

// image 추가 예시
assets:
 - image/image.png

    - dart 파일에 코드 추가

      (file : 외부의 폴더나 갤러리에 있는 파일사용 / asset : 앱 제작시 미리 넣어놓은 파일 사용 / memory : 배열, 문자열 형대의 이미지 데이터 사용)

    - 이미지 크기 조절

fit 옵션값 설명
BoxFit.fill width, height를 가득 채워서 그림
BoxFit.contain 이미지가 잘리지 않고 비율이 변하지 않는 범위에서 가능한 크게 그림
BoxFit.cover 비율을 유지한 채 지정한 범위를 모두 덮도록 그림
BoxFit.fitWidth width를 꽉 채워서 그림(이미지가 잘릴수 있음)
BoxFit.fitHeight height를 꽉채워서 그림(이미지가 잘릴수 있음)
BoxFit.none 원본 이미지 표시(이미지가 잘릴수 있음)
BoxFit.scaleDown 전체 이미지가 나올수 있도록 이미지 크기를 조절

  2) 폰트 변경

    - 디렉터리를 생성하여 폰트 파일을 삽입

    - pubspec.yaml 파일을 열고 폰트 추가

// Font 추가 예시
fonts:
 - family: Pacifico
  fonts:
   - asset: font/Pacifico-Regular.ttf
    weight: 400

    - dart 파일에 코드 추가

 

3. 사용자와 상호작용하는 앱 만들기

  1) 덧셈 계산기 앱 만들기

    - ElevatedButton 위젯의 onPressed : 버튼이 눌렸을 때 발생하는 이벤트

    - 이미지가 붙어 보일 경우 간격을 벌리기 위해 Padding 사용

    - TextField를 다루기 위해 TextEditngController 설정이 필요

키보드 유형 설명
text - 기본 텍스트
multiline - 멀티 라인 텍스트(여러줄을 입력할 때 사용)
number - 숫자 키패드
phone - 전화번호 전용 키패드
datatime - 날짜 입력 키패드
emailAddress - @ 표시등 이메일 입력 키패드
url - URL 주소 입력 창

    - setState() : 위젯의 상태를 갱신