2024-01-03 1. 구현 예제 코드 코드를 구현한 배경지식은 로그인 후 Appbar 우측 상단에 톱니모양의 아이콘이 나오면 로그아웃과 회원탈퇴 기능을 하는 드롭다운 버튼을 구현하는 것이 필요하여, PopupMenuButton 위젯을 사용하여 구현하였다. 드롭다운은 메뉴는 로그아웃/회원탈퇴 두 가지이며, 각각은 PopupMenuItem 위젯으로 wrapping 되어 있다. 유저의 tap에 따라 onSlected 되면 해당 PopupMenuItem 의 value 값 기준으로 분기를 진행하여 원하는 기능을 수행할 수 있게 된다. PopupMenuButton( onSelected: (value) async { if (value == 'signout') { await authService.signOut();..
2023-12-28 1. 방법 현재 프로젝트 경로에서 터미널로 아래 명령어를 입력하면 된다. flutter build apk --release --target-platform=android-arm64 해당 명령어는 Flutter 프로젝트를 릴리스 모드로 빌드하고, 명시적으로 Android 애플리케이션을 64비트 ARM 아키텍처 (android-arm64)로 타겟팅하는 Flutter 명령어이다. 자신의프로젝트/build/app/outputs/apk/release/app-release.apk 이후 해당 경로에 app-release.apk 라는 이름으로 파일이 들어가 있는 것을 확인할 수 있다. 만약에 만들어지는 apk 파일의 이름을 임의로 지정하고 싶다면 아래의 명령어를 사용하면 된다. flutter bui..
2023-12-27 1. 방법 AndroidManifest.xml | build.gradle | MainActivity 등 패키지 명을 바꾸기 위해 기존에 설정들을 수정해야 되는 것이 다수 존재하는데 이를 편하게 변경해 주는 라이브러리가 있다. pubspec.yaml 에 아래와 같이 의존성을 명시해 준다. dev_dependencies: change_app_package_name: ^1.1.0 이후 현재 프로젝트 위치에서의 터미널에서 아래와 같이 의존성 업데이트를 해준다. flutter pub get 현재 프로젝트 디렉토리에서 터미널로 아래의 명령어와 같이 자신이 변경하고 싶은 새로운 패키지 구조를 작성하고 실행시키면 패키지 구조가 변경되는 것을 확인할 수 있다. flutter pub run change..
2023-12-26 1. 라이브러리 사용 라이브러리는 flutter_easyloading이다. 해당 라이브러리는 명령어 하나로 손쉽게 로딩 기능을 구현할 수 있도록 도와준다. 2. 방법 pubspec.yaml 에 아래와 같이 의존성을 주입해 준다. dependencies: flutter_easyloading: ^3.0.5 아래의 예제를 참고하여 자신의 MarteialApp에 builder: EasyLoading.init(), 부분을 추가해 준다. (해당 부분은 없으면 초기화 안됬다고 에러가 발생한다.) class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(Build..
2023-12-21 1. 방법 아래와 같이 leadingWidth를 넓히면 전체적인 leading에 위치해 있는 로고의 크기를 키울 수 있다. AppBar( title: const Text('Title'), leading: Placeholder(color: Colors.white), leadingWidth: 100, ) 2.출처 https://stackoverflow.com/questions/66387869/how-to-increase-size-of-appbar-leading-property-in-flutter How to Increase size of AppBar leading property in flutter? I'm trying to add my custom text button into AppB..
2023-12-20 1. State 각각의 위젯들은 계층적 구조를 가지며 상태를 가지고 있다. 이러한 위젯의 상태를 초기화하기 위해서 build()라는 메서드를 사용하게 되며 해당 메서드는 데이터의 필요 시점에 자식 위젯의 인스턴스화하는 것을 보장해 준다. @override Widget build(BuildContext context) { return ContentWidget(importantState); } 다만 아래와 같이 계층 구조가 깊어질 수록 상위 위젯에 정보에 접근하는 것이 어려워지는데 이를 위해 Flutter에서는 InheritedWidget 클래스를 제공한다. 해당 클래스를 활용하면, 현재 위젯의 상위위젯에 접근할 수 있다. 아래는 ExamWidget 또는 GradeWidget 개체 중 하..