반응형

흔히 부르는 햄버거 메뉴를 눌렀을 때 이벤트 감지를 알려주는 강좌를 보고 따라 했음에도 햄버거 메뉴가 동작 자체를 안하는 문제를 발견했다.
        leading: IconButton(
          icon: Icon(Icons.menu),
          onPressed: () {
            print("Menu Call!!!!");
          },
        ),
강좌에서 동작했던 코드인데
아래처럼 해야만 동작했다.
        leading: Builder(
          builder: (context) => IconButton(
            icon: new Icon(Icons.settings),
            onPressed: () => Scaffold.of(context).openDrawer(),
          ),
        ),

그새 구글이 구글했나보다.
작작 좀 바꿔라.

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  //const MyApp({super.key});
  final appTitle = 'Drawer Demo';
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: appTitle,
      debugShowCheckedModeBanner: false,
      theme: ThemeData(
        primarySwatch: Colors.red,
      ),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        leading: Builder(
          builder: (context) => IconButton(
            icon: new Icon(Icons.settings),
            onPressed: () => Scaffold.of(context).openDrawer(),
          ),
        ),
        title: Text('Drawer'),
        elevation: 0.0,
        centerTitle: true,
        actions: [
          IconButton(
            icon: const Icon(Icons.shopping_cart),
            onPressed: () {
              print("AA2222");
            },
          ),
          IconButton(
            icon: const Icon(Icons.search),
            onPressed: () {},
          ),
        ],
      ),
      body: Center(child: Text('My Page!')),
      drawer: Drawer(
        child: ListView(
          padding: EdgeInsets.zero,
          children: [
            // DrawerHeader(
            //   child: Text('Drawer Header'),
            //   decoration: BoxDecoration(
            //     color: Colors.blue,
            //   ),
            // ),
            UserAccountsDrawerHeader(
              currentAccountPicture: CircleAvatar(
                backgroundImage: AssetImage('assets/0001.gif'),
              ),
              otherAccountsPictures: [
                CircleAvatar(
                  backgroundImage: AssetImage('assets/0002.png'),
                )
              ],
              accountEmail: Text('dev.yakkuza@gmail.com'),
              accountName: Text('Dev Yakuza'),
              onDetailsPressed: () {
                print('press details');
              },
              decoration: BoxDecoration(
                  color: Colors.blue[300],
                  borderRadius: BorderRadius.only(
                    bottomLeft: Radius.circular(40),
                    bottomRight: Radius.circular(40),
                  )),
            ),
            ListTile(
              title: Text('Item 1'),
              onTap: () {
                Navigator.pop(context);
              },
            ),
            ListTile(
              title: Text('Item 2'),
              onTap: () {
                Navigator.pop(context);
              },
            ),
          ],
        ),
      ),
    );
  }
}

반응형
Posted by Hippalus
,

반응형

visual studio code로 flutter를 개발하기 위해 extension을 설치하고 F1을 눌러 New project를 누르면 

이딴게 호출되는 사람이 있을 수 있다.  그게 나다 -_-
이상한건 난 분명히 환경변수를 설정해줬단 말이다.
그래도 뜨니 어쩔 수 없다. 또 하는 수 밖에

flutter site에서 파일을 다운받은 후 루트 > Users > hippalus (참고로 이 폴더는 내 유저명임) > Development (참고로 새로 만든 폴더임) > flutter를 위치시켜 뒀다.

터미널을 열어(터미널이 어디있는지 모른다면 응용프로그램 폴더의 유틸리티 폴더를 참조할것)

vim editor를 열기 위해 

vi ./~zshrc 입력 후 엔터

vim editor에 대해 더 알고 싶다면 이 블로그 글 참조 바람 잘 설명되어 있음
머여 내 포스트랑 겹치는 내용이네? ㅋ
https://d-dual.tistory.com/8

 

[ Mac OS / Terminal ] zsh 셸에서 Vim을 이용하여 환경 변수 설정하는 방법.

📝 VIM 소개 - vim.org Vim은 모든 종류의 텍스트를 만들고 변경할 수 있도록 구성 가능한 텍스트 편집기입니다. 대부분의 UNIX 시스템 및 Apple OS X에 "vi"로 포함되어 있습니다. 라고 vim 공식 페이지에

d-dual.tistory.com

vim editor에서 i를 눌러 INSERT모드로 진입 후 각자 위치시킨 경로를 입력 

export PATH="$PATH:/Users/hippalus/Development/flutter/bin"

다 입력했다면 esc키를 눌른 후 :wq 엔터치면 vi editor에서 빠져나옴

터미널로 다시 넘어왔다면 업데이트 한 내용을 적용하기 위해 source 명령어 사용

source .bashrc 실행하면 끝

반응형
Posted by Hippalus
,

반응형

Flutter을 설치하고 제대로 설치 됐나 확인하기 위해선 cmd.exe를 실행하여 flutter doctor를 입력해봐야 한다.

보통 Android license 관련 문제만 나타나는것 같은데 난 cmdline-tools component가 없다고 나온다.
하... 이 지저분한 구글환경
MS와 애플은 깔끔한데 JAVA, 구글 오픈소스 진영들은 정말이지 -_-

검색해보니 설정에 가서 SDK Tool을 깔아주면 된다는데
Android Studio를 써보지 않은 나는 Appearance메뉴가 어디있는지도 못찾았었다.
File > Settings(단축키 ctrl+alt+s)로 가보면 

Appearance & Behavior가 있고 그 아래에 System Settings가 있고 또 그 아래에 Android SDK가 있고
그 우측 상세화면에 SDK Platforms, SDK Tools, SDK Update Sites 중 SDK Tools를 눌러 아래로 스크롤 해 보면 아까 문제로 나온 Android SDK Command-line Tools가 언체크 된 상태로 보인다.
이걸 체크 하고 Apply 해주면

이렇게 쭉 인스톨 되는걸 확인할 수 있다.
뭘 이렇게 꽁꽁 숨겨둔다냐 ㅡㅡ

그리고 다시 cmd 상태에서 flutter doctor를 실행해보니 아 이건 또 뭐지 http host???
설마 방화벽에서 cocoapods를 차단했을리는 없는데 ㅡㅡ

일단 먼저 라이센스 문제부터 해결하기 위해 flutter doctor --android-licenses를 입력하고 계속 Y, Y, Y를 누른 후 다시 flutter doctor를 실행해보니 문제 없이 해결되었다.

No issues found!

반응형
Posted by Hippalus
,

반응형

SELECT
   OBJECT_NAME(object_id),  OBJECT_DEFINITION(object_id)
FROM 
   sys.procedures
WHERE 
   OBJECT_DEFINITION(object_id) LIKE '%내용%'

반응형
Posted by Hippalus
,