2017-11-07 8 views
0

私はタブバーを持つフォームアプリケーションを持っています。 iOSのために私はこれらのアイコンを作成しました:フォームアプリケーションでiOSとAndroidに異なるサイズのアイコンを使用する必要がありますか?

ionicons_2-0-1_ios-pause-outline_25.png 
[email protected] 
ionicons_2-0-1_ios-pause-outline_2523x.png 

は、彼らは私が、私はこれらが正しいサイズであることを信じて読んだものから、25 * 25、50 * 50と75 * 75

サイズです。

しかし、誰かがアプリケーションのAndroid側のサイズと命名規則について助言してくれますか?

ファイル名が異なる必要があると言われました。また、iOSとAndroid用にそれぞれ1つのアイコンを使用したい場合、どのように動作させることができますか?現在、私はこのようなアイコンを指定しています:

var homePage = new NavigationPage(new HomePage()) 
{ 
    Title = "Home", 
    Icon = "ionicons_2-0-1_ios-home-outline_25.png" 
}; 

答えて

3

はい、あなたはおそらくそれを分離したいと思うでしょう。

documentation pageには、さまざまな画像を扱う際のすべてを読むことができます。各プラットフォームには、使用するコントロールに応じて、適切なイメージサイズに関する非常に具体的なガイドラインがあります。 AndroidやiOSと連携して、「アイコンサイズ」や「ヒューマンインタフェースガイドライン」のGoogleだけ。また、あなたは本当にあなたの時間を節約するあなたのための適切なサイズを生成する(有料)機能を持っているMFractorプラグインを調べることができます。

は、Android のために、あなたは彼らがトラブルを引き起こすことが知られているので、ハイフンを使用して 避けたいと思うかもしれません。プラットフォームをdistinquishするに

、あなたはXAMLのため、このような構造を使用することができます:

<ContentPage> 
    <ContentPage.Padding> 
     <OnPlatform x:TypeArguments="Thickness"> 
      <On Platform="Android, UWP">0</On> 
      <On Platform="iOS">0,20,0,0</On> 
     </OnPlatform> 
    </ContentPage.Padding> 
</ContentPage> 

とコードで:

switch(Device.RuntimePlatform) 
{ 
    case Device.iOS: 
     this.Padding = new Thickness(0,20,0,0); 
     break; 
    case Device.Android: 
    case Device.UWP: 
    case Device.macOS: 
    default: 
     // This is just an example. You wouldn't actually need to do this, since Padding is already 0 by default. 
     this.Padding = new Thickness(0); 
     break; 
} 

xamarinhelp.comからのコードサンプル)

をこれがそれを示しているがPaddingの場合は、それを文字列に適用し、それをあなたの状況に適用することができます。ただし、異なるファイル名を使用する場合はにはがありません。同じ名前を付けることもできますが、異なるアイコンを使用するだけです。またプラットフォームは、@2xなどで取得するか解決する解像度を把握します。

関連する問題