본문 바로가기
반응형

Flutter82

[Flutter] TextButton.icon위젯의 아이콘과 텍스트 위치순서 TextButton.icon위젯을 쓰다보면 '아이콘은 항상 왼쪽에, 텍스트는 아이콘의 오른쪽에 위치할 수 밖에 없는건가?' 하는 의문이 든다. VSCode에서 해당 위젯의 설명을 보면, 다음과 같이 나와있다.Create a text button from a pair of widgets that serve as the button's [icon] and [label].The icon and label are arranged in a row and padded by 8 logical pixels at the ends, with an 8 pixel gap in between  설명을 보면 왠지 구조적으로 그렇게 설계 된 것 같아 보이는데, 그러면 아이콘-텍스트의 순서가 아니라 텍스트-아이콘의 순서로 쓰고 싶으.. 2024. 12. 30.
[Flutter] Column안에서 바로 ListView를 쓰지 말아야 하는 이유 Column> Expanded> Listview의 구조 혹은 SingleChildScrollView> Column> Listview 의 구조를 써야하는 이유는 크게 두 가지다.1. 레이아웃 안정ListView는 무한한 높이를 가지려고 하기 때문에 Column 에 바로 넣으면 레이아웃 제약 조건을 위반하게 되어 Vertical viewport was given unbounded height 혹은 Cannot hit test a render box that has never been laid out.Another exception was thrown: Assertion failed: file 과 같은 에러가 뜨면서 실행이 안된다. 하지만, Expanded 위젯을 써주면 ListView가 Column 내에서 .. 2024. 11. 14.
[Flutter] 밀어서 잠금해제 슬라이더(unlock slider) 구현하기 오늘은 밀어서 잠금해제 후 다른 화면으로 navigate하는 unlock slider를 구현해보겠슴니다1. 우선, 슬라이더를 미는 과정이 화면에 보여야 하므로 StatefulWidget를 만들어줍니다.class UnlockSlider extends StatefulWidget {  const UnlockSlider({super.key});  @override  _UnlockSliderState createState() => _UnlockSliderState();} 2. 그 다음, state를 관리하는 class에서 슬라이더의 현재 위치, 전체 너비, 버튼 너비를 할당해줄 변수를 선언합니다.class _UnlockSliderState extends StateUnlockSlider> {  double _dra.. 2024. 11. 14.
[Flutter] AlertDialog 에서 TableCalendar 쓰기 AlertDialog에서TableCalendar를 쓸 때 날짜 선택 반영이 잘 안되는 점을 발견해 해결한 과정 공유 해봄니다 우선, AlertDialog의 child가 아니라 아래처럼 그냥 TableCalendar만 쓰면 문제 없이 날짜 선택이 됩니다.더보기import 'package:flutter/material.dart';import 'package:table_calendar/table_calendar.dart';import 'package:intl/intl.dart';void main() {  runApp(MyApp());}class MyApp extends StatelessWidget {  @override  Widget build(BuildContext context) {    return Ma.. 2024. 11. 13.
[Flutter] Geolocator 플러그인으로 위치 정보 파악하기 1. 뭐하는 위젯인가?Geolocator는 Flutter 애플리케이션에서 사용자의 현재 위치 정보를 얻고 위치 서비스를 처리하는 데 사용되는 패키지다. 현재 위치 검색, 지속적인 위치 추적, 거리 계산, 위치 서비스 상태 확인, 지오코딩 등의 작업이 가능함.최신 버전의 Geolocator사용을 위해서 위치 정보 수집에 대한 권한이 허용되어야한다. 2. 위치정보 사용을 위한 필요조건위치 정보 수집에 대한 권한을 허용하려면, pubspec.yaml 파일에 패키지를 설치한 후, Android / iOS 운영체제별로 별도 설정을 해줘야한다.- Android프로젝트/android/app/src/main 에 있는 AndroidManifest.xml 태그의 태그 아래에 둘 중의 하나의 코드를 넣는다manifest .. 2024. 11. 13.
[Flutter] 안드로이드 에뮬레이터 app:compileDebugKotlin / org.jetbrains.kotlin.compilerRunner 오류 해결하기 Flutter + android emulator로 앱을 디버깅하다보면 종종 다음과 같은 에러가 뜨면서 실행이 안되는 경우가 있슴돠.             (저는 Geolocator를 import해서 사용하기만 하면 에뮬레이터가 해당 에러가 떴슴니다)Module was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.9.0, expected version is 1.7.1.* What went wrong: Execution failed for task ':app:compileDebugKotlin'. > A failure occurred while executing org.jetbrains.kotli.. 2024. 11. 10.
728x90
반응형