본문 바로가기

ETC/Flutter44

[flutter] 변경된 버튼들(FlatButton,Outline Button,RaisedButton) 변경된 버튼 종류 버튼종류 변경 모양 FlatButton TextButton OutlineButton OutlinedButton RaisedButton ElevatedButton 1.FlatButton -> TextButton TextButton( onPressed: () { // Respond to button press }, child: Text("TEXT BUTTON"), ) TextButton.icon( onPressed: () { // Respond to button press }, icon: Icon(Icons.add, size: 18), label: Text("TEXT BUTTON"), ) 기존의 Flat Button에서 style문법이 변화했다. FlatButton( textColor: C.. 2021. 10. 19.
[flutter] 앱 시작화면(spash image) 이미지 설정하기 Splash Flutter 앱을 실행하면 개발한 첫 번째 페이지가 생성되어 출력되기 전에 1초 정도 하얀색 화면이 출력된다. 우선 앱 실행 초기에 잠시 출력되는 스크린을 네이티브 스플래쉬(Native Splash) 스크린이라고 한다. Flutter는 멀티 플랫폼을 지원하는 크로스 플랫폼이지만 실제 안드로이드나 Ios의 입장에서 보면 각 플랫폼의 네이티브 앱이 먼저 실행된 후, Flutter 앱으로 점프하는 방식이다. 개발한 Flutter 앱이 실행되기 전에 각 플랫폼의 네이티브 스크린이 잠시 출력되게 되면서 발생하는 문제다. 해결방법 기본 네이티브 스플래쉬 스크린을 앱의 스타일에 맞게 커스터마이징 하는 것이다. 이미 이를 지원하는 플러그인이 존재한다. pub.dev 문서 animated_splash_sc.. 2021. 10. 19.
[flutter] xml 을 json 형식으로 변환하기 xml2paker xml2parker 패키지란? xml 형식으로 받은 데이터를 json으로 변환해주는 라이브러리이다. 공식문서 install xml2json: ^5.3.1 import import 'package:xml2json/xml2json.dart'; example final getXmlData = response.body; //xml 데이터를 받아온다. print(getXmlData); //xml데이터를 잘 받아왔는지 확인. final Xml2JsonData = Xml2Json()..parse(getXmlData); //json으로 변환 final jsonData = Xml2JsonData.toParker(); //그냥 령식 옵션 print(jsonData); //json데이터로 잘 변환되었나 확인. 2021. 10. 19.
[flutter] 실제 아이폰에서 앱 실행하기 iphone 과 Mac 을 연결한 상태를 유지. 1) Xcode 설정 터미널에서 프로젝트가 있는 다이렉트에서 아래 커맨드 입력. open ios/Runner.xcworkspace Runner -> Signing & Capabilities -> Team -> 개발자 계정 추가 2) 아이폰 연결 한 Apple ID당 1주일에 10번까지만 빌드가 가능하다. 테스트 앱 사용 가능 기간이 1주이다. 1주일이 지나면 앱이 실행할 수 없는 상태가 되지만, 이 경우에는 다시 설치하시면 된다. Apple Pay, Game Center, iCloud, 인 앱 결제, APNS(Push Notification), Wallet 등은 사용할 수 없다. 3) 빌드 flutter run -d 휴대폰 이름 --release 2021. 10. 18.
[flutter] App 이름 설정하기 Android Open AndroidManifest.xml (위치: android/app/src/main) // Your app name here IOS Open info.plist (위치: ios/Runner) CFBundleName App Name // Your app name here 2021. 10. 18.
[flutter] appBar Icon 간격 줄이기 Appbar의 action 즉 appBar의 우측에 세 개 이상의 아이콘을 넣으면 간격이 보기 싫게 고정되는 경우가 있다. 이를 해결하기 위해 아래와 같이 조절해준다. actions: [ IconButton( visualDensity: VisualDensity(horizontal: -4.0, vertical: -4.0), //이부분이 줄여주는 부분이다. padding: EdgeInsets.zero, icon: Icon( Icons.search, color: Colors.white, ), //iconSize: 20, onPressed: null, ), //Add more icon here ], 2021. 10. 18.
[flutter] 뒤로가기 두번 클릭으로 앱 종료하기 뒤로 가기 버튼 두 번 클릭으로 종료하기 //BackButton class BackButton extends StatefulWidget { @override _BackButtonState createState() => _BackButtonState(); } class _BackButtonState extends State { DateTime backbuttonpressedTime; @override Widget build(BuildContext context) { return Scaffold( body: WillPopScope( onWillPop: onWillPop, child: Center( child: Text('Double Click to exit app'), ), ), ); } } Future o.. 2021. 10. 18.
[flutter] setState 란? setState() 이란? setState() 함수 안에서의 호출은 State 에서 무언가 변경된 사항이 있음을 Flutter Framework 에 알려주는 역할이다. 이로 인해 UI 에 변경된 값이 반영될 수 있도록 build 메소드가 다시 실행된다. 예제 아래는 버튼을 누르면 count가 1씩 증가되도록 만든 코드이다. lass _ZeddPageState extends State { int count = 0; @override Widget build(BuildContext context) { return Center( child: Column(children: [ Text("$count"), CupertinoButton(child: Text("버튼 제목"), onPressed: this.increme.. 2021. 10. 18.
[flutter] 구글플레이 앱 업데이트 하기 업그레이드 앱 배포하기 구글 플레이에 앱 배포 후 코드 수정으로 bundle 파일 혹은 apk 파일을 업데이트 시키는 경우. pubspec.yaml version: 1.0.1+2 수정할 때마다 +1씩 늘려줘야 한다. android/app/biild.gradle def flutterVersionCode = localProperties.getProperty('flutter.versionCode') if (flutterVersionCode == null) { flutterVersionCode = '2' } def flutterVersionName = localProperties.getProperty('flutter.versionName') if (flutterVersionName == null) { flutt.. 2021. 10. 18.