본문 바로가기

Flutter35

[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.