목록Flutter (14)
일모도원(日暮途遠) 개발자
../../../../../.pub-cache/hosted/pub.dev/google_fonts-3.0.1/lib/src/google_fonts_base.dart:14:1: Error: 'AssetManifest' is imported from both 'package:flutter/src/services/asset_manifest.dart' and 'package:google_fonts/src/asset_manifest.dart'. import 'asset_manifest.dart'; ^^^^^^^^^^^^^ 위와 같은 에러가 나오면... google_fonts를 최신껄로 업데이트 해보자. google_fonts: ^4.0.4
backgroundImage에서 동기함수(同期函數, Synchronous function)는 그냥 아래처럼 사용하면 된다. child: CircleAvatar( backgroundImage: AvatarImageUtil.getAvatarImage(imageName: 'a.png'), radius: 20, // Adjust the radius as needed ), static AssetImage getAvatarImage({String? imageName = ""}) { } 근데 아래처럼 비동기 함수를 부를려고 했는데, 그냥은 안된다. await를 붙이면 될줄 알았는데... 위젯에 좀 복잡해서(FutureBuilder를 위에서 이미 사용중) 에러가 난다. static Future loadMyAvatarI..
다른곳에서는 잘 불리던 위젯이 Drawer에서는 No Material widget found.라는 에러를 내면서 안불린다. return ListView( children: [ UserAccountsDrawerHeader( currentAccountPicture: GestureDetector( onTap: () { Get.to(() => const ProfilePage()); }, 이럴때는 아래처럼 Material로 감싸주자. Get.to(() => const Material( child: ProfilePage(), )); Navigator.push( context, MaterialPageRoute( builder: (context) => const Material( child: ProfilePage(),..
Local Push를 띄운 상태에서 클릭하면 다른 뷰를 열려고 하는데, 기존에 쓰던 Navigator.push는 context가 필요하여 쓸수가 없다. 실제로 에러나는 부분은 빨간색 context이다. (context)는 에러나는 부분이 아니다. Navigator.push( context, MaterialPageRoute( builder: (context) => NewPage(), ), ); 이럴때는 GlobalKey를 써보자. GlobalKey : A key that is unique across the entire app. 아래처럼 navigatorKey라는 변수를 GlobalKey로 선언하고, main함수에서 navigatorKey에 할당해주자. final GlobalKey navigatorKey ..
이북 뷰어에서 현재 페이지 표시 기능을 구현하다가 잘 안되어서 공부중인데, spine이라는 용어가 나와서 파악중이다. 예전에도 이름만 들어봤지, 오픈소스를 사용하다보니 깊이 알 필요가 없었는데... 일단 Spine에 대한 정의를 보면 다음과 같다. Spine : 등뼈, 척추(脊椎, 등마루 척, 쇠몽치 추/등골 추) "등마루"라는 한글이 더 어렵다. "등골뼈가 있는 두두룩하게 줄진 곳"을 등마루라고 한다는데, "마루"는 집에서 거실을 말할때 쓰기도 하는 그 마루인가? In an EPUB file, the spine is an XML element that specifies the order in which the book's pages or other content should be displayed. E..
async가 있는 함수내에서 "context"를 쓰면, 아래처럼 경고가 나온다. Don't use 'BuildContext's across async gaps. onTap: (value) async { Navigator.push( context, MaterialPageRoute( builder: (_) { return EpubScreen.fromPath(filePath: file.path); }, ), ); 해결책은 아래처럼 "if (context.mount)" 구문으로 감싸면 된다. onTap: (value) async { if (context.mounted) { Navigator.push( context, MaterialPageRoute( builder: (_) { return EpubScreen.f..