일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- 다트 언어
- Unity
- 구조체
- c# winform
- Houdini
- 깃
- c# 추상 클래스
- jupyter
- c# 윈폼
- gitlab
- HTML
- Flutter
- 포인터
- C언어 포인터
- dart 언어
- c#
- git
- docker
- 플러터
- Algorithm
- Data Structure
- C++
- vim
- C# delegate
- jupyter lab
- github
- 도커
- c언어
- Python
- 유니티
- Today
- Total
목록Programming/Flutter (30)
nomad-programmer
Hero 위젯이 화면 전화시 애니메이션 효과를 지원했다면 AnimatedContainer 위젯은 한 화면 내에서 setState() 함수를 호출하여 화면을 새로 그릴 때 변경된 프로퍼티에 의해 애니메이션 되도록 해준다. Container 위젯과 쓰임새는 비슷하지만 duration, curve 등의 애니메이션 관련 프로퍼티가 있다. duration 프로퍼티는 필수이며 애니메이션되는 데 걸리는 시간을 Duration 클래스를 사용해 정의할 수 있다. Curves 클래스에는 미리 정의된 여러 애니메이션 효과가 들어 있다. AnimationContainer( duration: Duration(seconds: 1), // 1초 동안 애니메이션 적용 width: 100.0 // 가로 길이 height: 150.0 ..
Hero 위젯은 화면 전환시 자연스럽게 연결되는 애니메이션을 지원한다. 이전 화면으로 돌아갈 때도 자연스럽게 애니메이션이 동작한다. Hero 위젯 사용 방법은 애니메이션 효과의 대상이 되는 양쪽 화면의 위젯을 Hero 위젯으로 감싸고, tag 프로퍼티를 반드시 동일하게 지정해야 한다. import 'package:flutter/material.dart'; void main() { runApp(MyApp()); } class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colo..
글자나 그림 같이 이벤트 프로퍼티가 없는 위젯에 이벤트를 적용하고 싶을 때 사용하는 위젯이다. GestureDetector와 InkWell 위젯은 터치 이벤트를 발생시킨다. onTab 프로퍼티를 가지고 있어서 child 프로퍼티에 어떠한 위젯이 와도 클릭 이벤트를 작성할 수 있다. 따라서 Text, Image 등의 위젯에도 간단히 클릭 이벤트를 추가할 수 있다. GestureDetector( onTab: () { // 클릭 시 실행 }, child: [위젯], ), InkWell( onTab: () { // 클릭 시 실행 }, child: [위젯], ), InkWell 위젯으로 감싸고 클릭하면 물결 효과가 나타나지만 GestureDetector 위젯은 그렇지 않다. GestureDetector & Ink..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/J75bl/btqKsoqaEIS/l8gpRnGBJIu0A04zlFPygK/img.png)
TimePicker 위젯을 시간을 선택할 때 사용하는 위젯이다. import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(), ); } } class MyHomePage extends StatefulWidget { @override _MyHomePageState createState() => ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bsis8p/btqKibY6yyb/ksKrWfJmkdq0yNCk0MQ2zK/img.png)
Flutter Studio https://flutterstudio.app AppBuilder 2 20180529-19:35 flutterstudio.app 비주얼 에디터인 플러터 스튜디오를 이용하면 드래그&드롭으로 위젯을 간단히 시험할 수 있다. 대신 코드 수정은 불가능하다. 위젯을 드래그&드롭하여 화면에 배치하고 '{ } source code'를 누르면 소스 코드를 바로 확인할 수 있다. Dart Pad 코드는 안드로이드 스튜디오에서 작성하는 것이 기본이지만 급하게 무언가 테스트해보고 싶을 때는 다트 패드 웹 서비스를 이용하는 것도 좋다. https://dartpad.dev DartPad dartpad.dev 여러 가지 샘플 앱도 준비되어 있다.
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bp7MoD/btqKmojpvUZ/kF1hkavy83Oon1jWkzvGjk/img.png)
화면을 구성하는 컴포넌트를 위젯이라고 부른다. 화면을 구성하려면 다양한 위젯을 조합해야 하므로 가능하면 많은 위젯을 아는 것이 좋다. https://flutter.dev/docs/development/ui/widgets Widget catalog A catalog of some of Flutter's rich set of widgets. flutter.dev 앱을 만들려면 기본 위젯을 알아야 한다. UI를 위젯의 조합으로 구성하기 때문이다. 플러터는 머티리얼 디자인을 표준 디자인으로 채용하고, 필요에 따라서 iOS 쿠퍼티노 디자인도 사용할 수 있다. 그리고 다양한 화면 크기에 대응하는 방법을 제공한다. 화면 배치에 쓰는 기본 위젯 위젯 중에는 화면을 구성하고 배치하는 데 뼈대가 되는 것이 있다. Cont..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/blYkVm/btqKia6Tzgl/NXhO3ai6bAdZMAhLFJFwTK/img.png)
버튼을 누르면 "Hello, World!", "안녕, 세상!" 이렇게 두 개의 문자열이 번갈아가며 변경되는 것을 만들어보았다. import 'package:flutter/material.dart'; void main() => runApp(MyApp()); class MyApp extends StatelessWidget { @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Colors.blue, ), home: MyHomePage(), ); } } class MyHomePage extends StatefulWidget { @override..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/bjZEzW/btqKlUVQCCO/OW6zrbGS2ZNIHyQN8Kus7K/img.png)
프로젝트를 새로 작성하면 샘플 앱이 표시된다. 프로젝트 창의 lib 폴더에서 main.dart 파일을 클릭하면 전체 코드를 볼 수 있다. import 'package:flutter/material.dart'; // 앱 시작 부분 void main() { runApp(MyApp()); } // 시작 클래스. 메터리얼 디자인 앱 생성 class MyApp extends StatelessWidget { // This widget is the root of your application. @override Widget build(BuildContext context) { return MaterialApp( title: 'Flutter Demo', theme: ThemeData( primarySwatch: Col..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/wrYzy/btqKkOByZFu/zVHD00iXdE6lCkZ67KB400/img.png)
플러터 앱을 잘 만들려면 먼저 프로젝트를 구성하는 폴더와 파일 역할을 알아야 한다. 1. 프로젝트를 구성하는 폴더 2. 프로젝트를 구성하는 파일 프로젝트를 구성하는 폴더는 다음과 같다. .idea : 개발 도구에 필요한 설정 android : 안드로이드 네이티브 코드를 작성하는 부분 build : 빌드시 생성되는 파일 ios : iOS 네이티브 코드를 작성하는 부분 lib : 다트 코드를 작성하는 부분 test : 테스트 코드를 작성하는 부분 프로젝트를 구성하는 파일은 다음과 같다. .gitignore : Git 설정 파일. 버전 관리지 무시할 파일 규칙 작성 .metadata : 프로젝트가 관리하는 파일. 임의로 수정하지 않는다. .packages : 각종 패키지 정보. 임의로 수정하지 않는다. flu..
플러터는 구글에서 만든 하나의 코드베이스로 모바일, 웹, 데스크탑에서 네이티브로 컴파일 되는 프레임워크이다. https://flutter-ko.dev/ Flutter - 가장 빠른 아름다운 네이티브 앱 Flutter(플러터)는 하나의 코드베이스로 모바일, 웹, 데스크톱에서 네이티브로 컴파일 되는 구글의 아름다운 UI 툴킷입니다. Flutter는 기존 코드와 함께 동작하고, 전세계 개발자와 조직에 쓰이고 �� flutter-ko.dev 설치하는 방법은 위의 링크를 가면 자세히 나와있다. 플러터의 특징과 장점을 한번 알아보자. 플러터는 네이티브 코드와 동등한 성능을 가진다. 플러터는 매터리얼 디자인과 쿠퍼티노 디자인을 제공한다. 플러터는 다트 언어로 개발한다. 안드로이드 스튜디오와 비주얼 스튜디오에서 개발이..