목록Flutter/Flutter개발 (4)
일모도원(日暮途遠) 개발자
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 ..