Dart/Flutter37 [Flutter] 플러터 파이어베이스(Firebase)를 통한 구글(Google) 소셜 로그인 설정하기 플러터로 소셜 로그인을 하게 되면서, 파이어베이스(Firebase)를 통한 구글, 애플 소셜 로그인을 구현할 수 있습니다. 구글(Google) 소셜 로그인 Firebase 생성 및 설정 먼저, 파이어베이스를 생성 및 설정으로 들어가서 `Authentication`을 설정해줘야 합니다. `Authentication`에서 하위 탭 `Sign-in-method` 클릭하여 `Google 선택` 만약, Google을 인증 제공업체로 사용하려면 하단 외부 프로젝트의 클라이언트 ID 허용 목록에 추가 부분에 구글 클라우드에서 아래 이미지와 같이 사용자 인증 정보 정보를 넣어주면 됩니다. (선택사항) OAuth2.0 클라이언트 ID에서 계정을 클릭하면 클라이언트 ID와 클라이언트 보안 비밀 키를 확인할 수 있습니다. .. 2022. 12. 24. [Flutter] 플러터 `Rive` 적용하기 `Rive`를 활용하여 배경이 움직이고 블러 처리하여 뉴모피즘 느낌을 줄 수 있습니다. rive 사이트에서 예제를 받을 수 있습니다. Rive - The new standard for interactive graphics Use our familiar design and animation tools with our ground-breaking State Machine to create interactive motion graphics for your products, apps, sites, and games. rive.app 아래의 패키지를 설치하여 사용합니다. rive | Flutter Package Rive 2 Flutter Runtime. This package provides runtime fun.. 2022. 12. 23. [Flutter] `TextField`, `TextFormField` 특정 포커스(Focus) 위치하기 플러터에서 `TextField`, `TextFormField`에서 맨 앞 혹은 맨뒤, 입력 텍스트에 특정 위치로 포커스가 커서가 이동되어야 한다면, 아래에 예제와 같이 텍스트필드에 컨트롤러를 지정하고 `selection`으로 `TextSelection 옵션`을 주면 됩니다. 예제 /// Controller Rx textEditingController = TextEditingController().obs; /// View class MyApp extends GetView { @override Widget build(BuildContext context) { return MaterialApp( home: TextField( controller: controller.textEditingController.va.. 2022. 12. 23. [Flutter] 탭바(Tabbar) 스크롤 위치 기억하기 `Render Visible` 플러터에서 탭바를 이용하다 보면, 다른 탭에 갔다가 오게 되면 스크롤 위치가 초기화되는 현상이 있습니다. 스크롤을 유지하기 위해서는 별도의 옵션을 주고 처리해야 합니다. 다만, 각 탭 이동시 렌더링은 이후 계속 유지하고 있습니다. `StatefulWidget`에서 오버라이드(override)를 활용하여 `wantKeepAlive` 옵션을 `true` 값을 주면 됩니다. 예제 /// 탭바 위젯 class TabbarWidget extends GetView { const TabbarWidget({super.key}); @override Widget build(BuildContext context) { return Obx( () => TabBar( controller: controller.tabControll.. 2022. 12. 23. [Flutter] Location `Attempt to invoke interface method 'void'` 오류 해결하기 `Attempt to invoke interface method 'void'` 오류의 경우에는 실제로 `Location`을 가져오는 과정에서 윈도 PC 등 특정 권한 문제로 가져오지 못하는 문제가 있습니다. 따라서, 실제 디바이스에서 릴리즈 모드로 진행하게 되면 오류가 해결될 가능성이 높습니다. 2022. 12. 21. [Flutter] `Location` 위치 정보 가져오기 Flutter용 플러그인은 Android 및 iOS에서 위치 가져오기를 처리합니다. 또한 위치가 변경될 때 콜백을 제공합니다. pub.dev location | Flutter PackageA Flutter plugin to easily handle realtime location in iOS and Android. Provides settings for optimizing performance or battery.pub.dev device_info_plus | Flutter PackageFlutter plugin providing detailed information about the device (make, model, etc.), and Android or iOS version the app is .. 2022. 12. 19. [Flutter] 플러터 `notification.metrics.axis == widget.axis: is not true` 해결하기 스크롤 형태의 위젯에서 너비 값이 지정되지 않은 스크롤 뷰는 `notification.metrics.axis == widget.axis: is not true` 오류가 발생할 수 있습니다. 따라서, 스크롤 형태의 위젯에서 너비를 알 수 있도록 `physics`를 `BouncingScrollPhysics()` 옵션으로 변경하여 너비를 알 수 있도록 해야 합니다. 예제 import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( home: Scaffold.. 2022. 12. 15. 이전 1 2 3 4 다음