flutter 2.3.2 을 쓰고 있다가, 오늘 2.5.2로 업그레이드 했는데 이 때부터 웹(크롭)에서 앱을 올려 테스트 하던것에 문제가 생겼다. 마우스로 스크롤이 되지 않는 것이었다. 이상하다 싶어서 다시 모바일 에뮬레이터로 실행시켜보니, 문제없이 잘 동작했다. 웹에서 돌릴때만 이러한 문제가 발생했다. 구글링을 해보니 flutter 2.5 버전이후부터는 웹(PC)에서 마우스를 이용한 drag를 막아 놓았다고 한다. 그래서 이것을 해결하려면 ScrollBehavior 에서 dragDevices 에 mouse를 추가해줘야 했다. 자세한 내용은 아래 참고. https://flutter.dev/docs/release/breaking-changes/default-scroll-behavior-drag 위의 페이지..
이번주 Flutter 유튜브의 DecodingFlutter 섹션 에는 "Packages versus Plugins?" 라는 제목의 영상이 올라왔다. https://www.youtube.com/watch?v=Y9WifT8aN6o 나도 궁금했지만 찾아보지는 않았던 부분인데, 업로드된 영상의 제목을 보고 바로 클릭해서 봤다. 한글 자막이 없어 100% 이해를 못해서, 인터넷에서 검색을 해서 부족한 부분을 채웠다. 아래 링크에 있는 글이 잘 정리 되어있는 듯하다. https://www.linkedin.com/pulse/difference-between-dart-package-plugin-flutter-leo-uzair Difference Between Dart Package and Plugin in Flutte..

참고하는 패키지의 코드에서 addPostFrameCallback이 있다. 아래와 같이 사용되고 있었다. WidgetsBinding.instance!.addPostFrameCallback( function ) WidgetsBinding 부터 찾아봐야겠다. Flutter api 웹페이지에는 아래와 같이 나온다. 그리고 addPostFrameCallback 은, 그리고 WidgetsBinding 이 Mixin 으로 선언되어있는데 뒤에 on 키워드가 있다. on 키워드가 어떤건지 기억이 나지 않아 다시 찾아보았다. 아래 블로그 참고. https://paulaner80.tistory.com/entry/Dart-mixin-%EC%9D%B4%EB%9E%80-1 Dart mixin 이란? 1. 믹스인이 필요한 이유 C..

왜 Stack의 첫번째 child로 비어있는 SizedBox를 깔아주는 것일까? 현재 참고 하고 있는 Time table 패키지의 코드를 보면 Stack 위젯의 children의 첫번째로 SizedBox를 사용하고 있다. 내부에 의미있는 child도 없는, 빈 box 를 왜 처음에 깔아두는지 몰라서 검색해 보았다. 참고자료1 (링크) Stack 내에서 자리표시자(a syntactic placeholder)로 SizedBox를 사용한다고 한다. SizedBox는 const constructor라서 그렇지 않은 Container에 비해 컴파일러가 더 효율적인 코드를 생성할 수 있다고 한다. 또한 Container는 SizedBox에 비해 많은 properties 와 methods를 가지고 있어서 초기화 하는..
지금 만들어 보고 있는 scheduler에서 time table을 표현하기 위해 container로 감싼뒤 그안에서 custom paint를 이용해서 time table을 그리려고 하고 있다. 그런데 mediaQuery 를 이용해서 받아오는 context의 size 정보는 parent 위젯의 사용가능 영역에 대한 정보가 아니라, 언제나 device의 full screen 정보(height 와 width 등..) 란 것을 알게 되었다. 그렇다면 child 위젯에서 parent 위젯의 사용가능 영역 정보를 알려면 어떻게 해야하나? LayoutBuilder 를 사용하면 된다. The main difference between Media Query and LayoutBuilder is that Media Que..
이번엔 Google Developers 유튜브의 Flutter Widget of the Week 25번째 영상부터 볼차례. 50편 까지 보면 되려나? 24. BackdropFilter ImageFilter를 child로 받아서 이미지들을 블러, 회전, 각도조절 등 다양한 이미지 효과를 줄 수 있다. 25. Align 부모 위젯의 한정된 구역 내에서 위젯의 위치를 설정할 수 있다. 26. Positioned Stack을 이용하여 여러 위젯들이 결합되어있을 때 이런 위젯의 위치를 어떻게 원하는 위치에 배치할 수 있다. 27. AnimatedBuilder 애니메이션 효과를 줄 수 있는 위젯 중 하나. Animation을 정의하고 AnimationBuilder로 실행하면 됨. 그리고 이를 위해서 Animatio..
Widget 영상 하나당 1분 정도이지만 오프닝 엔딩을 제외하면 40초 근처이다. 그리고 이것을 정리하면서 2번정도 본다면 영상 하나당 3분30초에서 4분이 소요되는 듯하다. 현재 위젯 영상은 98개 이므로 다 본다면 392분, 즉 6시간 30분 정도가 걸릴듯하다. 하루에 1시간 30분 씩만 보면 5일이면 다 볼 수 있다. 오늘은 #1~#23까지 보면 된다. 1. SafeArea 다양한 기계의 가장자리가 다르므로 컨텐츠가 가장자리에서 짤릴 수 있다. 카메라나 스피커가 화면의 일부분을 가리고 있기도 하다. 이럴때 SafeArea로 감싸면 보호 된다. MediaQuery로 화면과 가장자리 면적을 잰 후 사용하면 된다. 2. Expended child 위젯의 화면 크기를 최대 사용가능한 영역만큼 넓힌다. fl..
Flutter를 이용해 만들어진 앱에 대해 참고할 수 있는 사이트 Creative curve 책에서 말한 '소비'는 창의적인 발상을 위한 밑거름이 된다고 하였다. 익숙한, 친숙한 디자인 위에 새로움, 색다름을 올려서 가치 있는 무언가를 창작해야 한다. 기존의 트랜드에 대한 패턴을 읽기 위해 다양한 앱들을 접하며 구현 방식과 디자인 요소를 공부하자. https://flutter.dev/showcase Showcase Apps take flight with Flutter See how customers are using Flutter to make beautiful apps in record time flutter.dev https://itsallwidgets.com/ Flutter Apps | It's A..
- Total
- Today
- Yesterday
- 인사이트
- 플러터
- 한빛미디어
- BLE
- 앱
- Chrome
- 앱 프로그래밍
- IOS
- DART
- UX
- 다트
- 크롬
- Flutter
- 앱개발
- error
- firebase
- hide
- 문제 해결
- 에러
- Syncfusion
- TextField
- plugin
- UI
- 디자인
- 이미지
- addPostFrameCallback
- Bluetooth
- TextFormField
- position
- SizedBox
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |