전체 글 889

[플러터/Flutter] Phone, Tablet, Desktop 코드로 구분하기

방법 1. class FormFactor { static double desktop = 900; static double tablet = 600; static double handset = 300; } ScreenType getFormFactor(BuildContext context) { // Use .shortestSide to detect device type regardless of orientation double deviceWidth = MediaQuery.of(context).size.shortestSide; if (deviceWidth > FormFactor.desktop) return ScreenType.Desktop; if (deviceWidth > FormFactor.tablet) re..

Flutter(플러터) 2023.06.22

[Dart/Flutter] 변수와 타입

Dart 에 대하여 변수 : 프로그래밍의 가장 기본이 되는 단위 특정한 값(데이터)를 담아두는 그릇 변수는 변수명을 정하는 선언, 값을 저장하는 할당 이 두가지를 가장 많이 활용한다. 타입 : 데이터의 유형 기본형과 확장형으로 나눌 수 있다. 기본형 : bool, int, double, String, null 자료형 : List, Set, Map 확장형: Object, Enum, Future, Stream 타입을 반드시 정의할 필요는 없다. 하지만 명확한 것이 추후 관리나 협업 측면에서 좋다. 가변형 var : 최초에 부여된 타입으로 고정 dynamic : 타입이 언제든 바뀔 수 있다. 상수 const : compile 시점에 상수 처리될 경우 활용 final : 프로그램의 진행 중에 상수 처리될 경우에..

Dart(다트) 2023.06.20

[플러터/Flutter] Flutter Web Error: Unsupported operation: Platform._operatingSystem 발생 해결 방법

Flutter Web Run할 때는 Platfrom.isAndroid 같은 플랫폼 관련 값들을 사용하면 안된다고 합니다. 저의 경우 먼저 안드로이드/iOS 를 개발하고 추가로 웹을 더해보는 작업 중 Error: Unsupported operation: Platform._operatingSystem가 발생했는데요. if (Platform.isAndroid || Platform.isIOS) { await SystemChrome.setPreferredOrientations([ DeviceOrientation.landscapeLeft, DeviceOrientation.landscapeRight, ]); } 가로 모드 고정 하는 코드에서 플랫폼 관련 값을 사용해서 발생한 문제였습니다. 해결책은 간단한데 기본으로 ..

Flutter(플러터) 2023.06.16

[플러터/Flutter] TextField 포커스 사라질 때 키보드 내리기

가장 바깥 위젯을 GestureDetector()를 사용합니다. 그리고 onTap() 에서 FocusScope.of(context).unfocus(); 를 사용하면 됩니다. @override Widget build(BuildContext context) { return GestureDetector( onTap: () { FocusScope.of(context).unfocus(); }, child: Scaffold( ,,, ,, } 이런 식으로 사용하면, TextField 에서 포커스가 사라졌을 때 키보드가 같이 사라지게 됩니다. 끝!

Flutter(플러터) 2023.06.09

[플러터/Flutter] AppBar leading icon remove 앱바 리딩 아이콘 자동 생성 막기

AppBar 의 leading 아이콘을 만들지 않았는데도, Navigator.push 를 통해 생성된 위젯에서는 리딩아이콘이 자동으로 생성됩니다. 이 경우 자동 생성되는 리딩 아이콘을 생성되지 않도록 막을 수 있습니다. AppBar 의 속성 중 automaticallyImplyLeading 이라는 값이 있는데 이 값은 기본 값이 true 입니다. 요 놈의 값을 false로 변경해주면 됩니다.

Flutter(플러터) 2023.05.31