Flutter 21

[Flutter] 안드로이드 API Level - 최소사양 체크용

안드로이드는 확실히 옛날 폰 쓰시는 분들이 많구만. SDK 19 미만은 구글이 버린 상태이고, SDK 21 이하는 정상적인 앱 구동이 안되는 경우가 많다. pub.dev 를 보면 대부분의 기능이 최소 SDK 버전을 21로 지정하도록 되어있다. 2014년 11월에 나온 롤리팝이 그 버전이다. 여러분 소프트웨어 업데이트를 생활화 합시다. https://learn.microsoft.com/en-us/xamarin/android/app-fundamentals/android-api-levels?tabs=macos Understanding Android API Levels - Xamarin Xamarin.Android has several Android API level settings that determine ..

[Flutter] Slider Widget (+ ValueChanged<double>)

목차 Slider 위젯 사용설명 onChanged 와 같은 parameter가 있는 callback 함수의 타입 Slider 위젯 사용설명 Slider( min: 0.1, // 최솟값: double max: 10.0, // 최댓값: double divisions: 99, // 구간 갯수 (탁탁 걸리는 구간): int value: threshold, // 현재 값(최솟값, 최댓값 사이): double onChanged: (double value) { // 값이 바뀔 때 실행되는 콜백함수 print(value); }, label: threshold.toStringAsFixed(2), // 선택 했을때 나오는 Label, // 소수점 2째자리까지 표현 ), onChanged 와 같은 parameter가 있는 ..

Flutter/UI Widget 2023.04.10

[Flutter] BottomNavigationBar & TabBarView (+ TickerProviderStateMixin)

목차 TabBarView & BottomNavigationBar 위젯 소개 Sample Code(TabController) TickerProvideMixin(애니메이션 효율) & vsync(수직동기화) 1. TabBarView & BottomNavigationBar 위젯 소개 Flutter 에서 TabBarView는 아래와 같은 Widget을 의미합니다. TabBarView와 BottomNavigationBar를 연결하면 아래와 같이 시중에 가장 많이 사용되는 형태의 앱을 만들 수 있습니다. 2. Sample Code 일반적으로 보이지 않는 이해 안 되는 키워드가 존재할 것입니다. 'TickerProviderStateMixin'와 'vsync' 는 아래에서 따로 설명 하겠습니다. TabBarView와 B..

Flutter/UI Widget 2023.04.10

[Flutter] 가속도와 자이로스코프 센서 (sensors_plus, shake)

목차 플러그인 정보 가속도 센서 자이로스코프 센서 sensors.plus 플러그인: 1.3.4+1 shake 플러그인: 2.1.0 가속도 센서 가속도계는 말 그대로 특정 물체가 특정 방향으로 이동하는 가속도가 어느 정도인지를 숫자로 측정하는 기기입니다. 대부분의 휴대폰에는 가속도계가 장착되어 있습니다. 휴대폰을 정면으로 봤을 때 x, y, z 축의 의미는 다음과 같습니다. 1) x축: 좌우로 움직이는 방향입니다. 2) y축: 위아래로 움직이는 방향입니다. 3) z축: 앞뒤로 움직이는 방향입니다. - 휴대폰을 아이폰과 같이 정면으로 세웠을때의 상태입니다. - 가속도계는 x, y, z축으로의 직선 움직임만 측정할 수 있습니다. - 가속도계를 사용해서 움직임 이벤트를 받으면 x, y, z축의 측정 결과가 모두..

[Flutter] Font Setting (pubspec.yaml)

Flutter에서 폰트 설정하는 방법에 대해 간략하게 살펴봅시다. 순서는 다음과 같다. 1) 폰트파일을 준비해 안드로이드 스튜디오에 추가합니다. 2) 'pubspec.yaml' 에 해당 폰트의 위치와 정보를 연결합니다. 3) MaterialApp( theme: ThemeData( textTheme: TextTheme( TextStyle 등록 ) ) ) 4) Theme.of(context).textTheme 로 MaterialApp의 textTheme 데이터를 불러와 원하는 Text Widget에 설정합니다. 1) 폰트파일을 준비해 안드로이드 스튜디오에 추가합니다. 2) 'pubspec.yaml' 에 해당 폰트의 위치와 정보를 연결합니다. Weight는 폰트 두께를 의미합니다. 폰트의 두께별로 파일이 따로..

[Flutter][Cupertino Widget] DatePicker (기본설명포함)

목차 플러터 디자인 시스템 Material Design System(구글, 안드로이드) Cupertino Design System(애플, iOS) showCupertinoDialog() 안녕하신가 DatePicker를 활용한 사용방법 1. 플러터 디자인 시스템 플러터에서는 두 가지 디자인 시스템을 지원합니다. 두 디자인 시스템 모두 패키지이며 import 로 추가해야 사용할 수 있습니다. 구글 스타일의 디자인: Material Design System import 'package:flutter/material.dart'; 애플 스타일의 디자인: Cupertino Design System import 'package:flutter/cupertino.dart'; 2. showCupertinoDialog() ..

Flutter/UI Widget 2023.04.07

[Flutter] 일정 시간 주기로 움직이는 광고 배너

일정 시간 주기로 움직이는 광고 배너 예제 PageView 와 Timer.periodic() 를 통해 이를 구현할 수 있습니다. 아래는 인스타와 같이 사진이 일정 주기로 스와이프 되는 코드입니다. 아래의 코드를 조금만 수정하면 해당 기능을 구현할 수 있습니다. import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'dart:async'; void main() { runApp(const MyApp( title: 'Flutter Demo', )); } class MyApp extends StatelessWidget { final String title; const MyApp({super.key, requir..

Flutter/Library 2023.04.06

[Flutter] PageView class (scrollable page list)

Define PageView class PageView는 스와이프를 통해 하위 위젯들을 렌더링 할 수 있는 UI Widget 입니다. 보통 한 화면에 한 페이지를 구현하는데, PageView를 사용하면 한 화면에서 여러 페이지를 책처럼 넘겨볼 수 있도록 구현할 수 있습니다. - 스크롤 가능한 페이지 리스트 - 각 하위 위젯들은 강제로 같은 사이즈가 됩니다. - PageView를 제어할 수 있는 PageController를 제공해 줍니다. - Ex) 인스타 스토리, 스크롤 되는 앱 상단 광고 배너 등 - PageView + Timer 는 일정 시간 마다 넘어가는 광고 배너를 만들 수 있다. Function 1) 페이징 방향 변경(scrollDirection: Axis.vertical) 2) 페이지 넘김 보..

Flutter/UI Widget 2023.04.06

[Flutter] SystemChrome class (SystemUI Control)

운영체제에서 제공하는 그래픽 인터페이스(시스템 UI)의 특정 부분과 어플 간의 상호작용을 제어합니다. 즉, 시스템 UI 의 색상이나 모드를 변경 가능하고 앱 실행 방향이나 변경 이벤트를 전달 받을 수 있습니다. Static Method of SystemChrome class 함수 설명 setEnabledSystemUIMode() 앱의 풀스크린 모드를 지정합니다. (예를 들어 핸드폰 상단의 시간이나 배터리 잔량이 보이지 않게 가릴 수 있습니다.) setPreferredOrientations() 앱을 실행하는 방향을 지정합니다. (가로, 가로좌우반전, 세로, 세로좌우반전 옵션이 있습니다.) setSystemUIChangeCallback() 시스템 UI 가 변경되면 콜백함수를 실행합니다. setSystemUI..

Flutter/UI Widget 2023.04.06