flutter
async 함수 순차로 실행하기
async 함수 순차로 실행하기
2023.02.07검색해보면 여러가지 방법이 있는데 그중 stream 사용하는게 제일 편해서 아래와 같이 사용합니다. 주로 Getx을 사용하다 보니 mixin 형태로 만들어서 사용하고 있으며 아래 코드 보면서 필요한 위치에 코드를 추가하면 됩니다. mixin SequentialRunMixin on GetxController { final orderedFuturesController = StreamController(); late final StreamSubscription orderedFuturesSubscription; @override void onInit() { super.onInit(); orderedFuturesSubscription = orderedFuturesController.stream .asyncMap(..
배경이 투명한 페이지 만들기
배경이 투명한 페이지 만들기
2018.12.06Swipe to close 기능을 만들기 위해 Dismissible 위젯을 이용해 페이지를 구성했는데 이전 화면이 안나오는 것입니다.Scaffold의 배경색을 투명으로 해도 그렇더군요. 찾아보니 MaterialPageRoute는 기본 불투명으로 되더군요.그래서 MaterialPageRoute 클래스 소스를 가져와 opaque를 false로 변경 후 적용했습니다. class TransparentMaterialPageRoute extends PageRoute { TransparentMaterialPageRoute({ @required this.builder, RouteSettings settings, this.maintainState = true, bool fullscreenDialog = false, })..
링크 모음
링크 모음
2018.11.25Flutter로 개발을 시작한 이후 참고한 문서들입니다. 한글 문서가 별로 없으니 영문 문서를 보는 게 생산적일 겁니다. Curationawesome-flutter: 카테고리별로 잘 정리된 문서입니다.Flutter Awesome: 썸네일이 있어 보기 편합니다. PackageFlutter Packages: 공식 사이트에서 제공하는 package directory입니다. ToolsDartPad: 온라인 에디터로 간단한 코드 테스트할 때 사용합니다.Regular Expression Tester: 정규 표현식을 빠르게 테스트할 수 있습니다.JSON to Dart: json data로 class를 만들 때 사용합니다. SamplesAn open list of apps built with Flutter: flutt..
키보드 show/hide 감지하기
키보드 show/hide 감지하기
2018.11.25아래 라이브러리를 사용하시면 됩니다. https://pub.dev/packages/flutter_keyboard_visibility flutter_keyboard_visibility | Flutter Package Flutter plugin for discovering the state of the soft-keyboard visibility on Android and iOS. pub.dev 이전 내용 키보드 감지는 SatelessWidget에서는 불가능하고 StatefulWidget에 WidgetsBindingObserver를 추가해서 이벤트를 감지할 수 있습니다. 추가적으로 textfield에 focusNode를 추가하여 textfield에 focus가 있는지 여부도 같이 확인합니다. class Co..
상태바, 내비게이션 바 보이기/감추기
상태바, 내비게이션 바 보이기/감추기
2018.11.25상황에 따라 화면을 전체 화면 등으로 변경해야 하는데 이럴 때는 간단하게 SystemChrome.setEnabledSystemUIOverlays를 사용하면 됩니다. SystemChrome.setEnabledSystemUIOverlays([]); // 상태바, 내비게이션 감추기(fullscreen) SystemChrome.setEnabledSystemUIOverlays(SystemUiOverlay.values); // 모두 보이기(일반 화면) SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.bottom]); // 상태바 감추기 SystemChrome.setEnabledSystemUIOverlays([SystemUiOverlay.top]); // 내베기에..
상태바 투명하게 만들기
상태바 투명하게 만들기
2018.11.25iOS의 경우 상태바 영역이 투명이지만 안드로이드는 반투명 색상이 들어가 있습니다. 전 iOS와 같이 상태바 영역이 투명한 것을 선호해서 앱 개발시 항상 상태바를 투명하게 만듭니다. 안드로이드 개발할때는 이것저것 해야할게 많았었는데 flutter는 간단하게 구현이 가능합니다. void main() { ... SystemChrome.setSystemUIOverlayStyle(SystemUiOverlayStyle.dark.copyWith( statusBarIconBrightness: Brightness.light, statusBarColor: Colors.transparent, )); ... } SystemChome 클래스는 OS에서 제공하는 인터페이스 관련 부분을 제어하는 클래스입니다. 상태바 아이콘이나 ..