
Flutter 앱을 개발할 때 사용자와의 상호작용을 위해 대화 상자(Dialog)를 사용하는 경우가 많다.Flutter에서 제공하는 두 가지 주요 대화 상자 함수인 showDialog와 showCupertinoDialog에 대해 알아보고, 아이콘 버튼을 눌렀을 때 검은색 컨테이너를 보여주는 예제를 통해 이해해보겠다. 한 줄 요약showCupertinoDialog 함수는 화면을 덮는 즉, 또 하나의 화면을 만들 수 있게 해준다.그 화면 안에 들어갈 위젯을 build 값에 넣어주면된다. showDialog와 showCupertinoDialog의 차이점디자인 스타일: showDialog는 Material Design을, showCupertinoDialog는 iOS 스타일을 따른다.반환 값: 두 함수 모두 F..

테마란 무엇인가?Flutter에서 테마는 앱의 전체적인 시각적 스타일을 정의하는 방법이다.색상, 글꼴, 위젯 스타일 등 다양한 디자인 요소를 중앙에서 관리할 수 있게 해준다.테마를 사용하면 일관된 디자인을 쉽게 유지하고, 앱의 전체적인 모습을 빠르게 변경할 수 있다. ThemeData 클래스 이해하기Flutter의 테마는 ThemeData 클래스를 통해 정의된다. 이 클래스는 다음과 같은 주요 속성들을 포함한다:primaryColor: 앱의 주 색상colorScheme: 앱의 색상 테마를 정의하는 데 사용된다. 주요 색상과 보조 색상을 설정하여 일관된 디자인을 유지할 수 있다.fontFamily: 기본 글꼴textTheme: 텍스트 스타일 모음buttonTheme: 버튼 스타일appBarTheme: 앱..

static 글 참고: https://codejunh-develop.tistory.com/73 Dart 프로그래밍 언어에서 정적 메서드와 정적 속성은 객체 지향 프로그래밍의 중요한 개념이다.이들은 클래스 레벨에서 정의되며, 클래스의 인스턴스를 생성하지 않고도 직접 접근할 수 있다. 정적 메서드 (Static Methods)정적 메서드는 클래스의 인스턴스가 아닌 클래스 자체에 속한 메서드이다. 이들은 static 키워드를 사용하여 선언된다. 특징:클래스의 인스턴스를 생성하지 않고 호출할 수 있다.클래스 이름을 통해 직접 접근한다.인스턴스 변수에 접근할 수 없다. 예제:이 예제에서 add 메서드는 정적 메서드이므로 MathOperations 클래스의 인스턴스를 생성하지 않고도 직접 호출할 수 있다. 정..

MediaQuery란?MediaQuery는 Flutter에서 제공하는 위젯으로, 현재 디바이스(실행하고 있는 앱)의 다양한 화면 정보를 얻을 수 있게 해준다. 이를 통해 화면 크기, 화면 방향, 텍스트 크기 조정, 밝기 설정 등의 정보에 접근할 수 있다. MediaQuery의 주요 속성들size: 화면의 크기를 제공한다.devicePixelRatio: 논리적 픽셀당 물리적 픽셀 수를 나타낸다.textScaleFactor: 사용자가 설정한 텍스트 크기 배율이다.platformBrightness: 현재 디바이스의 밝기 모드(라이트/다크)를 알려준다.padding: 화면의 패딩 정보를 제공한다.viewInsets: 키보드와 같은 시스템 UI로 인한 가려진 영역 정보를 제공한다. MediaQuery 사용하기..

폰트 파일 준비하기먼저, 사용하고자 하는 폰트 파일(.ttf 또는 .otf 형식)을 준비한다.무료로 사용 가능한 폰트는 Google Fonts와 같은 사이트에서 다운로드할 수 있다. 프로젝트에 폰트 파일 추가하기프로젝트 루트 디렉토리에 asset 폴더를 생성하고, asset 폴더 안에 font 폴더를 만든다.준비한 폰트 파일을 이 font폴더에 복사한다. pubspec.yaml 파일 수정하기pubspec.yaml 파일을 열고 다음과 같이 폰트를 선언한다:family: parisienne: 폰트 패밀리의 이름을 'parisienne'으로 정의한다. 이 이름은 나중에 Flutter 코드에서 폰트를 참조할 때 사용된다.fonts:: 이 폰트 패밀리에 포함된 폰트 파일들의 목록을 시작한다.asset: ass..

Flutter에서 날짜와 시간을 다룰 때 DateTime과 Duration 클래스를 사용한다. DateTime은 날짜를 표현하는 클래스이고, Duration은 기간을 표현하는 클래스이다. DateTime 기본 사용법 1년, 월, 월, 일, 시, 분, 초, 밀리초, 마이크로 초에 해당되는 값들을 순서대로 입력하면 된다. DateTime 클래스를 인스턴스화하여 date라는 변수를 생성한 것이다.위 코드 이미지대로, 순서대로 포지셔널 파라미터를 넣을 수가 있다.예를 들어서, 2024년 9월 5일을 표현하고 싶다면 위와 같이 입력하면 된다. 년도만 필수 입력이고, 나머지는 옵셔널(선택적)이다. 최소한 무언가 하나는 입력을 해줘야 한다. 몇 년도인지는 알아야 하기 때문이다.나머지는 옵셔널(선택적)다.그렇기 ..

Timer란?Timer는 일정 시간 간격으로 특정 함수를 실행하거나, 지정된 시간 후에 함수를 한번 또는 주기적으로 실행하는 기능을 제공한다.Timer는 Flutter에 기본 제공되는 dart:async 패키지를 불러오면 사용 할 수 있다.이 뜻은 pubspec.yaml 파일에 추가를 따로 하지 않아도 기본적으로 불러와서 사용할 수 있음을 나타낸다.Flutter에서는 dart:async 패키지의 Timer 클래스를 사용하여 타이머 기능을 구현할 수 있다. Timer 사용 방법Timer는 다음과 같은 방식으로 사용할 수 있다: 1. 일정 시간 후에 함수 실행하기:첫 번째 파라미터에 기간 입력Timer 클래스를 정의를 한 다음에 이 안에 첫 번째 파라미터로 Duration(기간이라는 뜻) 이라는, 클래스..