উত্তর:
import 'dart:io' show Platform;
if (Platform.isAndroid) {
// Android-specific code
} else if (Platform.isIOS) {
// iOS-specific code
}
সমস্ত বিকল্পের মধ্যে রয়েছে:
Platform.isAndroid
Platform.isFuchsia
Platform.isIOS
Platform.isLinux
Platform.isMacOS
Platform.isWindows
আপনি ওয়েবে ব্যবহার করে চলছেন কিনা তা আপনি সনাক্ত করতে পারেন kIsWeb
, একটি বিশ্বব্যাপী ধ্রুবক এটি নির্দেশ করে যে অ্যাপ্লিকেশনটি ওয়েবে চালানোর জন্য সংকলিত হয়েছিল কি না:
import 'package:flutter/foundation.dart' show kIsWeb;
if (kIsWeb) {
// running on the web!
} else {
// NOT running on the web! You can check for additional platforms here.
}
Platform
ডকুমেন্টেশন: https://docs.flutter.io/flutter/dart-io/Platform-class.htmlkIsWeb
ডকুমেন্টেশন: https://api.flutter.dev/flutter/foundation/kIsWeb-constant.htmlকলিনকে ধন্যবাদ, চূড়ান্ত উত্তরটি হ'ল:
bool isIOS = Theme.of(context).platform == TargetPlatform.iOS;
যদিও defaultTargetPlatform
কাজ করবে, আমি ব্যবহার করার পরামর্শ দেব Theme.of(context).targetPlatform
। এটি আইওএস আচরণের পরীক্ষা সক্ষম করে (কারণ defaultTargetPlatform
সবসময় TargetPlatform.android
পরীক্ষায় থাকে)। এটি আপনার উইজেটের পূর্বপুরুষদের কোনও Theme
উইজেটে মুড়িয়ে তার লক্ষ্য প্ল্যাটফর্মটিকে ওভাররাইড করতে দেয় ।
if (Platform.isIOS) {//my iOS widgets}
Platform.isIOS
একই সমস্যা আছে defaultTargetPlatform
। এটি পরীক্ষায় কাজ করে না এবং Theme
উইজেট দ্বারা ওভাররাইট করা যায় না ।
বেশিরভাগ "বিড়বিড়" উত্তরটি নিম্নরূপ:
import 'package:flutter/foundation.dart' show TargetPlatform;
//...
if(Theme.of(context).platform == TargetPlatform.android)
//do sth for Android
else if(Theme.of(context).platform == TargetPlatform.iOS)
//do sth else for iOS
else if(Theme.of(context).platform == TargetPlatform.fuchsia)
//even do sth else for Fuchsia OS
আপনি ইউনিভার্সাল প্ল্যাটফর্ম প্যাকেজ ব্যবহার করতে পারেন:
https://pub.dev/packages/universal_platform
import 'package:universal_platform/universal_platform.dart';
bool isIos = UniversalPlatform.isIOS;
bool isAndroid = UniversalPlatform.isAndroid;
bool isWeb = UniversalPlatform.isWeb;
print('iOS: $isIos');
print('Android: $isAndroid');
print('Web: $isWeb');
এটি কেবলমাত্র Io গ্রন্থাগারটি আমদানি করা সহজ
import'dart:io' show Platform;
void main(){
if(Platform.isIOS){
return someThing();
}else if(Platform.isAndroid){
return otherThing();
}else if(Platform.isMacOS){
return anotherThing();
}
বা খুব সহজ উপায়ে
Platform.isIOS ? someThing() : anOther(),
Undefined name 'Platform'.dart(undefined_identifier)
ব্যবহারের জন্য কোনও প্রতি-প্রয়োজনীয়তা আছে কিPlatform
?