티스토리 뷰
반응형
안녕하세요 :) Zedd입니다.
오늘은 Flutter에서 지금 iOS환경인지..Android환경인지 구분하는 방법을 공부해보겠습니다!
먼저 foundation을 import해주세요.
import 'package:flutter/foundation.dart' as foundation;
이제
foundation.defaultTargetPlatform == foundation.TargetPlatform.iOS;
foundation.defaultTargetPlatform == foundation.TargetPlatform.android;
이런식으로 구분할 수 있습니다.
방법 1 : 프로퍼티를 만든다.
class ZeddApp extends StatelessWidget {
bool get isiOS => foundation.defaultTargetPlatform == foundation.TargetPlatform.iOS;
@override
Widget build(BuildContext context) {
if (this.isiOS) {
return CupertinoApp(home: MainTabBar());
} else {
return MaterialApp(home: MainTabBar());
}
}
방법 2 : switch case문을 이용한다.
class ZeddApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
switch (foundation.defaultTargetPlatform) {
case foundation.TargetPlatform.iOS:
return CupertinoApp(home: MainTabBar());
case foundation.TargetPlatform.android:
return MaterialApp(home: MainTabBar());
}
}
}
이런식으로 하면, 각 플랫폼에 맞는 UI를 구성할 수 있게 되겠죠!?
iOS는 CupertinoApp을 쓰고..Android는 MaterialApp을 쓰고!
반응형
'Flutter' 카테고리의 다른 글
Flutter ) CupertinoNavigationBar에 Item넣는 법 / item이 짤려보이는 현상 해결 (0) | 2020.09.24 |
---|---|
Flutter ) The argument type '...' can't be assigned to the parameter type 'PreferredSizeWidget'. (0) | 2020.09.18 |
Flutter ) StatefulWidget 자세히 살펴보기 (2) | 2020.09.11 |
Flutter ) StatelessWidget 자세히 살펴보기 (0) | 2020.09.11 |
Flutter ) 빈 화면부터 StatelessWidget까지 차근차근 만들어보기 + Tip (왕초보ver.) (1) | 2020.09.10 |
TAG
- swift 공부
- swift tutorial
- 회고
- iOS delegate
- 제이슨 파싱
- 스위프트 문법
- SwiftUI
- Combine
- fastlane
- Xcode
- FLUTTER
- github
- actor
- 피아노
- Git
- np-hard
- swift delegate
- UIBezierPath
- IOS
- WKWebView
- WidgetKit
- Swift
- Accessibility
- swift sort
- swift array
- swift3
- 스위프트
- ios 13
- WWDC
- np-complete
글 보관함
반응형
- Total
- Today
- Yesterday