본문 바로가기

분류 전체보기

[Flutter] GetX - Simple, Reactive 방식 비교 Simple 방식 class MyController extends GetxController { final String appBar = '마이 페이지'; int counter = 0; void increment() { counter++; update(); } } Widget _buildGetBuilder() { return GetBuilder( builder: (_) { print('-----------------_buildGetBuilder() builder'); return Text( '${_.counter}', style: textStyleWhiteBold(50), ); } ); } Widget _buildSimpleButton() { return InkWell( onTap: () { control..
[Flutter] 라이브러리 정리! Dart packages 필수 패키지 get - 상태관리 패키지. Most Likes 1위. (대체, provider, flutter_bloc) shared_preferences - 디바이스에 단순 데이터 저장. Most Likes 3위. (비슷, sqflite(SQLite), hive(nosql)) http - api 연동 패키지. Most Likes 4위. (대체, dio) url_launcher - 기본 브라우저 url 열기, 기본 이메일 앱에서 이메일 보내기, 기본 전화앱을 사용해 전화걸기, 기본 메시징 앱을 이용해서 sms 메시지 보내기 등 지원 Most Likes 5위. flutter_launcher_icons - 앱 아이콘 한번에 바꿔주는 패키지 Most Likes 9위. image_pick..
[MAC] 하단 바 이동 금지! Dock 위치 고정하기 상단에 Apple 메뉴(애플 로고) -> 시스템 환경설정으로 이동 4번째 메뉴 Mission Control 클릭! 체크리스트 중 4번째 '각각의 Spaces가 있는 디스플레이'를 해제! 계정 로그아웃 후 로그인 필요! 다른 모니터 하단에서 마우스 상단으로 올리는 제스쳐 취해도 Dock 이동 안하는 것 확인 가능! 근데 겁나 불편함. 페이지 슬라이드 하면 모니터 다같이 넘어감 머징? 그냥 기존걸로 돌리고 아 하단만 아니면 안옮겨진대. 하 하단이 편한대 그냥 조심히 써야겠다..
[Flutter] GetX middleware Setting Router Guards 프로필 페이지를 이동하기 전에 로그인이 안되어 있는 경우 로그인 먼저 하고 오라고 리디렉션 해준다고 생각하면 쉬움. class AuthGuard extends GetMiddleware { @override RouteSettings? redirect(String? route) { if (!AuthService.to.isLoggedInValue) return const RouteSettings(name: Routes.login); return null; } } AuthService는 로그인 체크하는 서비스임! AuthService 에서 로그인정보 확인 하여 로그인 안되있는 경우 로그인 페이지로 리디렉션! @override Widget build(BuildContext ..
[Flutter] GetX GetX 특징 GetX는 매우 가볍고 강력한 솔루션이며, 고성능 상태 관리, 지능형 종속성 주입, 라우트 관리 기능을 제공한다. GetX는 다음과 같은 3가지의 기본 원칙을 가지고 있다. 성능 성능과 리소스 소비의 최소화에 집중한다. Streams, ChangeNotifier를 사용하지 않는다. 생산성 쉽고 간결한 구문을 사용한다. 사용하지 않는 리소스는 메모리에서 자동으로 제거해준다. 따라서 개발자가 메모리에서 컨트롤러를 제거하는 것을 신경쓰지 않아도 된다. 조직화 화면, 프레젠테이션 로직, 비즈니스 로직, 종속성 주입, 네비게이션을 완전히 분리할 수 있다. 라우트(Route) 관리 라우트간 이동 또는 다이얼로그 띄울 때 context가 필요하다. GetX사용하면 context 없이 라우트 관리 가능...
[Flutter] Row/Text OverFlow 인 경우 다음 라인으로 넘기기 text overflow in new line in flutter Row( children: [ SvgPicture.asset( 'assets/icons/info_grey.svg', width: ScreenUtil().setWidth(18), ), SizedBox(width: ScreenUtil().setWidth(4)), Text( 'Flutter는 하나의 코드베이스로 모바일, 웹, 데스크톱에서 네이티브로 컴파일 되는 구글의 아름다운 UI 툴킷입니다.', style: TextStyle( color: Color(0XFF666666), fontSize: ScreenUtil().setSp(11), fontWeight: FontWeight.w400, height: 16/11 ) ) ], ), 오버 플로우! R..
[Flutter] 페이지 한 개만 두고 모두 닫기 remove routes! 페이지 여러개 쌓여 있을 때 맨 밑에 페이지만 두고 모두 지우고 싶을 때! Navigator.of(context).popUntil((route) => route.isFirst); 페이지 이동할 때 쌓인 페이지 다 지우고 이동하고 싶을 때! Navigator.of(context).pushAndRemoveUntil(MaterialPageRoute(builder: (context) => LoginScreen()), (Route route) => false),
[Flutter] Text font 오류? MaterialApp( title: 'Custom Fonts', // Set Raleway as the default app font. theme: ThemeData(fontFamily: 'Raleway'), home: const MyHomePage(), ) 처음에 보통 theme 설정해주면 자동으로 다른 페이지에서도 텍스트 폰트 적용되는데.. Scaffold 썻을때만 적용되는 듯! 예를 들어, 토스트 메시지를 띄울 때 Stack 으로 쌓고 Scaffold(기본 페이지 유아이)와, 토스트 메시지는 Scaffold 로 감싸주지 않은 경우 토스트 메시지의 텍스트에는 폰트가 적용 안되는 경우를 보았다... style: TextStyle( fontFamily: 'Noto Sans KR', color: Color..