( + ) 오른쪽에 떠 있는 듯한 버튼을 floating button이라고 따로 부름.
( + ) Container는 위젯을 담아 관리하는 상자임.
서버에서 직접 이미지를 가져와 출력하는 방법도 있지만,
자주 사용하는 이미지는 앱에 넣어두었다가 직접 호출하는 편이 데이터 사용이나 속도 면에서 유리함.
이미지를 플러터에서 삽입하는 방법은 아래와 같음.
New → Direcotory 생성한 다음 image라는 이름으로 폴더 생성.
이미지 파일을 마우스로 드래그 앤 드롭하여 1에서 생성한 폴더에 넣기
pubspec.yaml 파일에 해당 이미지 정보 추가.
기존 안드로이드나 스위프트 네이티브 앱 개발에서는 프로젝트에 이미지만 추가하면 바로 사용 가능하지만,
플러터 앱의 환경 설정과 관련된 부분인 pubspec.yaml에 이미지와 관련된 부분을 추가해야 함.
해당 파일에 플러터 버전 관리나 새로운 패키지 역시 추가 가능하며 이미지와 폰트 역시 추가 가능함.
( + ) pubspec.yaml 파일에 코드 추가 시 유의할 점
flutter:
uses-material-design : true
assets: # 이미지는 이런 식으로 추가함.
- image/flutter_logo.png
이렇게 앱에 포함된 이미지를 호출하는 방법에는 크게 3가지가 있음.
각 상황에 맞춰 이미지_경로 형태로 이미지를 호출하면 됨. 아래는 asset의 예시임.
children: <Widget> [
Image.asset('image/flutter_logo.png')
]
이미지의 크기 조정은 위의 이미지 호출하는 코드에서 따로 옵션을 지정해주면 됨.
Image.asset('image/flutter_logo.png', width:200, height:100)
이미지의 높이와 넓이를 지정해야 할 때, fit을 사용하면 원하는 형태로 표시할 수 있음.
( + ) 이미지 크기를 조절하는 fit의 옵션 값들
BoxFit.fill
BoxFit.contain
BoxFit.cover
BoxFit.fitWidth
BoxFit.fitHeight
BoxFit.none
BoxFit.scaleDown
이미지 추가와 마찬가지로, font라는 새 폴더를 만들고 준비한 폰트 파일을 끌어 넣음.
→ 폰트 파일 이름은 영어로만 가능.
폰트를 불러오는 코드는 아래와 같음.
flutter:
- family : Pacifico
fonts :
- asset : font / Pacifico-Regular.ttf
weight: 400
불러온 폰트를 실제 앱에 적용하는 코드는 아래와 같음.
Text('Hello Flutter',
style : TextStyle(fontFamily: 'Pacifico',
fontSize: 30, color: Colors.blue),
)
( + ) pubspec.yaml 파일을 이용하면 안드로이드의 gradle이나 node.js의 npm처럼 간단하게 패키지를 내려받아 사용 가능함.
onPressed
라는 이벤트가 발생함.Padding
코드를 활용해 위젯 사이의 간격을 넓힐 수 있음.EdgeInsets.all
옵션을 지정하면 사방으로 모든 공간에 여백이 생김EdgeInsets.only
옵션은 left, right, top, bottom에 원하는 값을 넣어 여백을 줄 수 있음.keyboardType
에는 사용자에게 보일 키보드를 지정할 수 있음. 플러터는 자주 사용되는 키보드 유형을 미리 지정해 놓음.
text | 기본 텍스트 |
---|---|
multiline | 멀티라인 텍스트 |
number | 숫자키보드 표시 |
phone | 전화번호 전용 키보드 |
datetime | 날짜 입력 키보드 |
emailAddress | @ 표시 등 이메일 입력 키보드 |
url | 주소 입력 창 |