flutter

Flutter/기본

[Flutter] Isolate 설명과 사용방법

IsolateIsolate는 Dart의 고급 기능 중 하나로, 단일 스레드로 실행되는 Dart 환경에서 병렬 작업을 수행할 수 있도록 도와줍니다. 이를 통해 복잡한 계산이나 I/O 작업을 별도의 스레드에서 처리하여 메인 스레드의 응답성을 유지할 수 있습니다.   Isolate 왜 필요해?대부분의 Flutter 작업에서는 Isolate가 필요하지 않을 수도 있습니다. 하지만 복잡한 계산이나 오랜 시간이 걸리는 작업을 수행할 때, Dart는 단일 스레드로 동작하기 때문에 다른 작업을 할 수 없는 상황이 발생할 수 있습니다. 이러한 상황에서는 앱이 멈춘 것처럼 느껴져 사용성을 해칠 수 있습니다. 이런 경우 Isolate를 사용하면 메인 스레드의 응답성을 유지하면서도 복잡한 작업을 처리할 수 있습니다.   위와..

Flutter/기본

[Flutter] 세 자리마다 쉼표가 있는 TextField 구현하기

https://pub.dev/packages/intl intl | Dart packageContains code to deal with internationalized/localized messages, date and number formatting and parsing, bi-directional text, and other internationalization issues.pub.dev앱의 텍스트, 날짜, 숫자 등의 Format을 도와주는 intl 패키지를 설치합니다.   import 'package:flutter/services.dart';import 'package:intl/intl.dart';class CommaTextInputFormatter extends TextInputFormatter ..

Flutter/기본

[Flutter] 특수상황의 DateTime UTC -> UTC 변환

외부에서 UTC 시간을 받아와서 사용할 때 일반적으로 ISO8601 형식으로 주지만 때때로는"2023-08-08T06:06:29" 이렇게 Z가 붙지 않거나 "2023-08-08 06:06:29" 이런식으로 받아오는 경우가 있습니다. 이런 시간을 toUtc()를 해서 Utc시간으로 바꾸게 된다면 사용 국가 표준시 만큼 추가로 계산됩니다.예로 들어 한국은 UTC+9 한국 표준시를 가지고 있기 때문에 "2023-08-08T06:06:29" 해당 DateTime을 toUtc()하게 된다면 2023-08-07 21:06:29.000Z 이렇게 바뀌는 현상이 생깁니다. 받아온 UTC시간을 그대로 UTC로 변환하려면 아래 코드를 이용하면 됩니다.Z가 붙으면 dart에서는 UTC시간으로 인식합니다. DateTime pa..

Flutter/기본

[Flutter] TabBar Customizing Design 모음

1. TabBar( labelStyle: TextStyle( fontSize: 15, height: 1.33, fontWeight: FontWeight.w700, ), labelColor: Colors.black, unselectedLabelColor: Colors.grey, dividerHeight: 1, dividerColor: Colors.grey, indicatorWeight: 2, indicatorSize: TabBarIndicatorSize.tab, indicatorColor: Colors.black, controller: tabController, tabs: [ Tab(text: "1"), Tab(text: "2"), Tab(text: "3..

Flutter/Widget

[Flutter] Scrollbar 사용방법

Scrollbar 현재 scroll 위치와 원하는 scroll위치를 Scrollbar를 통해 컨트롤하고 싶을 때 사용 하는 위젯       기본 사용법Scrollbar( child: ListView( children: [ for(int i = 0; i  기본적으로 스크롤이 되는 위젯 상위에 적용하여 사용이 가능합니다.ex) SingleChildScrollView, ListView, GridView...     제공 옵션Scrollbar( thumbVisibility: true, trackVisibility: true, interactive: true, scrollbarOrientation: ScrollbarOrientation.right, child: ListView( ch..

Flutter/기본

[Flutter] 디바이스 설정 언어 가져오기

final deviceLocales = PlatformDispatcher.instance.locales; 해당 코드로 디바이스에서 사용하려는 언어목록들을 가져올 수 있습니다. 디바이스에 언어 목록으로 이동하시면 한국어, 일본어, 영어(필리핀) 순으로 3개가 있습니다. 위의 코드로 받아온 데이터를 확인하면 리스트로 Locale값을 가져오는 것을 확인할 수 있습니다. 리스트의 첫 번째 아이템으로 ko_KR 로케일 값이 들어있습니다. 기본적으로 첫 번째 아이템이 현재 디바이스에 설정된 언어입니다. 나머지 아이템은 사용자가 디바이스에 추가한 언어들로 들어와 있습니다. 언어에 맞게 countryCode도 받을 수 있습니다. 주의할 점은 시뮬레이터 상에서는 countryCode가 US로 고정되어 있을 수 있습니다...

Flutter/기본

[Flutter] 프로덕션 환경 vs 개발 환경 구별 방법

bool.fromEnvironment('dart.vm.product') 해당 코드는 Dart의 런타임 환경 변수중 하나인 'dart.vm.product' 값으로 bool 값을 return 합니다. ReleaseMode 즉 프로로뎍션 환경이면 true를 return Debug, Profile등 개발 환경이면 false를 return

Flutter/기본

[Flutter] 웹 플랫폼 구별 방법

import 'package:flutter/foundation.dart'; if(kIsWeb) { ///웹 구별 } foundation 패키지의 kIsWeb을 사용하면 웹인 경우 true를 반환한다. if(kIsWeb) { if(defaultTargetPlatform == TargetPlatform.iOS || defaultTargetPlatform == TargetPlatform.android){ /// 모바일 웹 } else { /// 데스크톱 웹 } } 웹 플랫폼에서도 모바일 웹인지 데스크톱 웹인지 구별하는 코드 주의할 점 import 'dart:io'; if(kIsWeb) { if(Platform.isIOS || Platform.isAndroid){ /// 모바일 웹 } else { /// 데스크..

주톨
'flutter' 태그의 글 목록 (3 Page)