Application/Flutter
-
[ Flutter ] Hive ( NoSql ) SettingApplication/Flutter 2024. 8. 24. 16:58
이전 ture, false값으로 다크모드를 설정할때는 캐시 저장 방식을 사용했지만,데이터를 저장하기 위해서 캐시 저장방식이 불가하여 hive 라이브러리를 사용하여 데이터를 저장하는 방식으로 진행 로컬로 데이터를 저장하기 위해서 다른 DB를 사용하지 않고 hive를 사용Hive Dependenciesdependencies: flutter: sdk: flutter hive: ^2.2.3 hive_flutter: ^1.1.0 dev_dependencies: flutter_test: sdk: flutter uild_runner: ^2.4.7 hive_generator: ^2.0.1 hive를 사용하기위해hive, hive_flutteruild_runner, hive_generator를 추가..
-
[ Flutter ] 금액 formatter 설정Application/Flutter 2024. 7. 20. 18:48
금액을 표시할때 세자리 단위로 , 를 만들기위해 formatter를 만들려고 한다. 이전에 캘린더를 사용할때intl 의존성을 추가했는데 이를 활용하여 formatter를 만들 수 있었다.dependencies: flutter: sdk: flutter intl: ^0.19.0 공용 함수를 만들기 위해서 utils 폴더를 만들어 format 함수를 구현formatMoney함수에서 String 타입으로 변수를 받는다.이를 double형태로 변경하여intl 에 있는 NumberFormat함수를 이용하여 , 를 찍도록 한 후 local을 ko로 설정이후 그 값을 returnimport 'package:intl/intl.dart';String formatMoney(String money) { final ..
-
[ Flutter ] 팝업에서 입력값 리스트에 추가하기Application/Flutter 2024. 7. 20. 18:42
팝업에서 금액을 입력하면 바로 리스트에 추가시키는 기능을 구현View Setting리스트를 관리하기위해 리스트 변수를 선언Cost라는 타입을 만들고 Cost타입의 빈 리스트를 선언class Cost { final int id; final String title; final String pay; Cost({ required this.id, required this.title, required this.pay, });}List fixedCost = []; 이후 ExpansionChild에 리스트로 보여주기 위해서 child: ExpansionTile( backgroundColor: Colors.transparent, title: Text('It..
-
[ Flutter ] TextField 사용 및 StyleApplication/Flutter 2024. 7. 20. 17:18
기존의 TextField를 사용하니 이쁘지가 않아서스타일을 적용하고자 한다. 우선 textField widget을 만들어서 위치를 잡기 위해 Padding을 설정color는 현재 전역으로 만든 textColor를 사용Padding textField() { return Padding( padding: EdgeInsets.all(16.0), child: TextField( style: TextStyle(color: textColor), ), ); }최대한 현재 어플의 스타일과 비슷하게 만들기 위해배경색 및 테두리 작업을 진행textField의 경우 InputDecoration을 활용하여 style을 넣어줄 수 있다.hintText 와 hintStyle을 활..
-
[ Flutter ] showModalBottomSheet 화면 하단 팝업Application/Flutter 2024. 7. 11. 01:54
화면 하단 팝업을 구현하기 위해showModalBottomSheet 기능을 사용 SizeBox 위젯을 따로 만들어 추가 버튼 쪽을 따로 구현SizedBox AddChildList() { return SizedBox( width: double.infinity, child: GestureDetector( onTap: () { showModalBottomSheet( context: context, builder: (context) => BottomModal()); }, child: Container( padding: EdgeInsets.symmetric(vertica..
-
[ Flutter ] InkWell 제거Application/Flutter 2024. 7. 10. 01:43
ExpansionTile을 이용하다보니divider가 색이있고,또한 부모로 Container를 두었을때 border가 있다면 클릭하면 물결 효과가 사각형으로 나와서 이상하게 나온다. 처음에는 ExpansionTile에 Padding을 강제로 주어서 Container안에 넣어 안보이게 처리했지만ThemeData에 splashColor와 highlightColor의 색상만 변경해주면 되는 것 찾게 되었다. splashColor : 터치가 발생한 곳에서 시작하여 퍼지는 효과highlightColor : 위젯 전체로 물결 효과기존에 이렇게 썻던것을 ThemeData로 묶어서 사용data: Theme.of(context).copyWith(dividerColor: Colors.transparent),CustomCo..
-
[ Flutter ] ExpansionTile 확장 리스트Application/Flutter 2024. 7. 10. 00:51
확장 리스트를 만들기 위해ExpansionTile을 이용누르면 리스트가 확장되고 접히는 기능을 구현 text가 다크테마에 적용되도록 style적용기존에 child는 title, subTitle로 구성되어있어서Row를 주어 한 줄로 표시 이후 spaceBetween으로 양 사이드에 위치하도록 적용 bool _isExpanded = false; @override Widget build(BuildContext context) { return ExpansionTile( title: Text('Item 1',style: TextStyle(color: textColor)), children: [ Padding( padding: EdgeInsets.all(16...
-
[ Flutter ] 캐시 저장 SharedPreferencesApplication/Flutter 2024. 7. 7. 23:32
다크모드 설정을 만들었으니 이제 유지 시켜주기위해서캐시저장 방식중 SharedPreferences를 사용InstallationSharedPreferences를 위해 cocoaPod 설치https://yumedev.tistory.com/12 [ MacOS ] Flutter CocoaPod 설치캐시 저장 방식을 구현하는데shared_preferences: ^2.0.10 shared_preferences를 사용할려면 cocoaPod를 설치해야 캐시 저장 방식을 구현할 수 있다.시뮬레이터에서 캐시저장을 구현하는데 cocoaPod이 없어서 계yumedev.tistory.comDependenciesshared_preferences: ^2.0.10SharedPreferences다크모드 스위치가 값이 바뀔때마다 pro..