2017-08-28 5 views

答えて

5

defaultTargetPlatformは動作しますが、私はTheme.of(context).targetPlatformを使用してお勧めします。これにより、iOSの動作テストが可能になります(テストではdefaultTargetPlatformは常にTargetPlatform.androidなので)。また、ウィジェットの祖先は、Themeウィジェットでラップすることで、ターゲットプラットフォームを上書きすることができます。コリンへ

+0

私は何を提案し、この '場合(Platform.isIOS){//私のiOSウィジェット}' ' – aziza

+1

との違いは何ですか聞いてもPlatform.isIOS'には 'defaultTargetPlatform'と同じ問題があります。テストでは動作せず、 'Theme'ウィジェットで上書きすることもできません。 –

3

おかげで、最終的な答えは次のとおりです。

final ios = Theme.of(context).platform == TargetPlatform.iOS; 
+0

この回答のみが最新のFlutterフレームワークで最新です。残りの答えは間違っていませんが、defaultTargetPlatformはもはやフレームワークの一部ではないようです – Sniper

関連する問題