Flutter
-
flutter 에러 - Missing type arguments for generic method 'push<T extends Object?>'. Try adding an explicit type, or remove implicit-dynamic from your analysis options file.Flutter 2021. 7. 28. 03:32
->페이지를 이동하는 시키기 위해 버튼을 만들고 navigator를 사용하였는데 이러한 오류가 떴다. -> 읽어봐도 어떻게 해결해야하는지 감이 오지 않아 구글에 찾아보았다. ->아직 이유는 모르겠지만 제네릭 자료형이 맞지 않아서 오류가 난 것일까 -> stateful widget 문제인가 싶어서 간단한 예제를 만들어 적용해보았는데 그것도 아니였다. ->MaterialPageRoute 맞춰줘야 하는 것이 아직 무슨 의미인지 잘 모르겠어서 좀 더 공부해봐야 할 것 같다. -> push 옆에 를 붙여주었더니 정상적으로 페이지가 이동되었다. [참고한 페이지] https://stackoverflow.com/questions/60798549/try-adding-an-explicit-type-like-dynamic-..
-
flutter - stateful widgetFlutter 2021. 7. 22. 03:34
[state란?] -> UI가 변경되도록 영향을 미치는 데이터이다. -> 데이터는 지속적으로 변할 수 있다. -> 위젯 수준에서의 데이터는 라디오 버튼이 check가 되어있는지 텍스트 창에 입력이 되어있는지.. 같은 의미이다. [플러터의 트리] -> Widget tree -> Element tree -> Render tree -> 위젯 트리는 우리가 코드상에서 얼마든지 제어할 수 있다. -> 하지만 Element tree, Render tree는 플러터가 내부적으로 제어한다. -> Element tree와 Render tree는 우리가 만든 Widget tree에 근거해서 생성된다. [Widget tree] -> 우리가 작성한 코드에 근거해서 플러터가 빌드 메서드를 호출해서 생성하는 것이다. -> 그러나..
-
flutter - 플러터 2.0 버튼Flutter 2021. 7. 22. 01:29
[Buttons] - RaisedButton => ElevatedButton - FlatButton => TextButton 몰라서 고생했던 점이 있는데 .icon 붙은 버튼들은 child를 가질 수 없다. 버튼 안에 여러가지 요소들을 집어 넣고 싶다면 .icon을 붙이지 않은 버튼에 child ->children ->Row()를 선언해서 그 안에 구현한다. import 'package:flutter/material.dart'; void main(List args) { runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildConte..
-
flutter - 멀티 페이지 이동Flutter 2021. 7. 21. 04:04
[멀티 페이지 이동] -> initialRoute: , 사용한다. -> initialRoute는 멀티 페이지 이동을 할때, 화면에 제일 처음 출력되는 라우트을 불러오는 역할을 한다. -> home argument 와 같은 역할을 한다. 멀티 페이지 이동을 구현할 때에는 home 대신에 initialRoute를 사용한다. -> 특히 home argument 와 initialRoute argument 가 동시에 존재하면 에러가 발생하니 주의할 것 -> 멀티 페이지 이동시에는 route argument의 Map 자료구조를 활용한다. String을 key로, Widget builder를 Value로 가지는 Map 활용 -> home 을 먼저 initialRoute로 바꿔준다. -> 뒤에 String 자료형으로 ..
-
flutter - NavigatorFlutter 2021. 7. 21. 03:39
[Route] -> 스마트폰에 보여지는 하나의 페이지 또는 화면 [Navigator] -> 네비게이터란 Route를 스택 자료구조로 관리한다. -> 스택 자료구조에 대해서 push 와 pop 메소드를 제공한다. -> Navigator에서 데이터를 쌓을 때에는 push method 를 사용 -> 데이터를 없앨 때에는 pop method 사용 [push] -> 페이지의 생성은 push method를 사용한다. [Navigator의 요구 인자] -> Navigator는 context 와 route를 인자로 요구한다. -> context가 가지고 있는 위젯 트리의 위치 정보에 근거해서, 현재 화면 상에 보여주는 페이지가 어떤 페이지인지 확인하고 이 페이지 위에 푸쉬 함수가 이동하기 원하는 새로운 라우트를 쌓아 ..
-
flutter - 컬럼 위젯, 로우 위젯Flutter 2021. 7. 21. 02:21
[전체 코드] import 'package:flutter/material.dart'; void main(){ runApp(MyApp()); } class MyApp extends StatelessWidget { const MyApp({Key? key}) : super(key: key); @override Widget build(BuildContext context) { return MaterialApp( title: 'Row_and_Col', theme: ThemeData(primarySwatch: Colors.blue), home: MyPage(), ); } } class MyPage extends StatelessWidget { const MyPage({Key? key}) : super(key: ke..
-
flutter - 컨테이너 위젯(Container widget)Flutter 2021. 7. 20. 03:31
[Container widget] -> 컨테이너 위젯은 페이지 내에서 무조건 최대한의 공간을 차지하려고 한다. -> 컨테이너는 child 가 없을 경우 가능한한 최대의 크기를 차지하려고 한다. -> 컨테이너는 child를 가지게 되면 그 child의 크기로 줄어들게 된다. -> 컨테이너는 오직 하나의 child를 가진다. (플러터는 multi child 를 가질 수 있는 위젯과 single child 를 가질 수 있는 위젯이 확연하게 구분되기 때문에 주의) [마진과 패딩] - Margin : 마진은 위젯의 바깥 쪽 간격을 조정한다. - Padding : 패딩은 위젯읜 안 쪽 간격을 조정한다.
-
flutter - Toast MessageFlutter 2021. 7. 20. 03:11
[Toast Message] -> 토스트 메시지는 따로 외부 메서드를 import 하는 과정을 거쳐야 한다. -> pubspec 파일에서 -> 해당 위치에 fluttertoast: ^3.1.3 을 붙여넣는다. -> pubspec 파일은 들여쓰기에 상당히 예민하므로 주의해서 붙여 넣는다. [error 수정] Error: safety, because the following dependencies don't support null safety: -> 라는 에러가 생겼는데 setting 에서 "Flutter run additional args"을 검색 한 후 --no-sound-null-safety 을 추가해주었더니 해결되었다. [오류 참고한 사이트] https://stackoverflow.com/questi..