목록Flutter/Flutter개발 (7)
일모도원(日暮途遠) 개발자
easy_localization과 GetX를 사용하고 있는데, 메뉴 언어를 영어, 한국어로 변경시 반영이 잘 안된다. 앱을 껏다 켰다해야 확실히 반영이 된다. 기존코드는 아래처럼 context.setLocale만 사용했었는데,context.setLocale(newLanguage.locale.toLocale(separator: '-')); 아래처럼 Get.updateLocale까지 같이 해주니 잘되었다.final newLocale =newLanguage.locale.toLocale(separator: '-');await context.setLocale(newLocale); // change `easy_localization` localeGet.updateLocale(newLocale); // change..

Dialog에 마이크 버튼이 가운데 있는데 오른쪽에 스피커 버튼을 두고 싶었는데, 다른방법을 몰라서 Row로 스피커를 양쪽에 배치하고 하나는 숨겨버리고 반응도 안되게 하였다. (IgnorePointer위젯의 child에 Opacity위젯을 쓰면서 투명도를 0으로 줌) 일단 내가 원하는 형태대로 나와서 이렇게 쓴다. Row( mainAxisAlignment: MainAxisAlignment.spaceAround, children: [ Gap(8), IgnorePointer(ignoring: true, child: Opacity(opacity: 0.0, child: VocaSpeakerB..

아이폰에서 컴파일 안되는오류때문에 flutter pub upgrade --major-versions를 하고 나서 컴파일 하니 아래 에러가 나온다. git:(dalnim*)> flutter run –-flavor helpee -t lib/main.dart Launching lib/main.dart on iPhone 15 Pro Max in debug mode...Running pod install... 219.0sRunning Xcode build... Xcode build done. ..

class MyAppBar extends StatelessWidget implements PreferredSizeWidget { const MyAppBar({super.key}); @override Size get preferredSize => const Size.fromHeight(100); @override Widget build(BuildContext context) { return AppBar( title: const Text('Flutter 앱'), ); } } preferredSize값을 조절해주면 저 빈공간이 사라진다. (값을 하드코딩안하고 싶은데, 잘 모르겠다.) Size get preferredSize => const Size.fromHeight(50);

StatefulWidget내에서가 아니라 다른 Dart파일의 일반 함수안에서 showModalBottomSheet를 실행시키는데, 스위치를 변경할 일이 있어서 setState를 쓰니까, setState가 없다고 나온다. //A.dart파일의 Widget build(BuildContext context) 안에서 아래처럼 호출 showMyBottomSheet(context: context); // B.dart파일 void showMyBottomSheet({required BuildContext context}) { var isOption = true; showModalBottomSheet( context: context, builder: (BuildContext context) { return SizedBo..

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