2016-08-20 9 views
3

私は現在、アプリを開発中で、複数の画面のサポートを作成するためにsw<N>dpを使用しています。"layout"と "layout-sw400dp"の両方を保持する必要がありますか?

私はsw400dpフォルダを追加しました。これは基本的に、Android StudioのXMLレンダラに従ってすべての小さな携帯電話を使用します。
これは、レイアウトフォルダを上書きすることを意味します。だから今そこに座ってスペースを取っているだけです。
これについて間違っていませんか?
sw400dpをレイアウトフォルダにして、自分のフォルダに大きなレイアウトを作成する必要がありますか?
レイアウトフォルダを問題なく削除できますか?

+0

対象の携帯電話に関する選択によって異なります。私はhdpi、xhdpi、xxhdpiのフォルダで十分だと思います。それが私の選択である場合私は削除するだろう:) – Karacago

+0

正直なところ、小さな幅のデバイスのための特別なレイアウトが必要な答えはここに応じて異なります。すべてのレイアウトはデフォルトで一致する名前がなく、デフォルトでレイアウトフォルダになる –

+0

400 dpの幅しか展開していない場合、レイアウトフォルダはほとんど使われませんが、アプリがdpの大きいデバイスで実行されると、他のフォルダがない場合はレイアウトフォルダから –

答えて

5

私はsw400dpフォルダを追加しました。これは基本的に、Android StudioのXMLレンダラに従ってすべての小さな携帯電話を使用します。つまり、レイアウトフォルダを上書きします。したがって

最小幅が400dp以上のデバイスの場合のみ。 400dpは2.5インチまたは6.35cmです。私は、最小幅がそれよりも小さい2億台のAndroidデバイスが使用されていると推測します。

これは間違っていますか? sw400dpをレイアウトフォルダにし、より大きなレイアウトを自分のフォルダに作成する必要がありますか?

おそらく。最小幅が400dp以上のデバイスで異なるレイアウトリソースが必要な場合は、res/layout-sw400dp/ディレクトリのみが必要です。レイアウトリソースの大半は、特定のサイズでは異なる必要はありません。つまり、レイアウトリソースのバージョンはres/layout/で十分です。

問題なくレイアウトフォルダを削除できますか?

いいえ。最小の幅が400dp未満のデバイスではアプリがクラッシュするためです。

ルールは単純です:彼らはで指定された条件のために異なることが必要な場合

  • 他のディレクトリでレイアウトリソースのres/layout/

  • 入れ修正のコピーにすべてのレイアウトリソースの1を入れディレクトリ名

そうでなければ、明らかには、400dp以上のデバイスに対して異なるレイアウトを必要とします.400dpより小さいデバイスと比較すると、res/layout-sw400dp/は不要です。

+0

'400dpは2.5inまたは6.35cmです.'あなたは静的なdpサイズ - >スクリーンサイズに興味がありますか? – Zoe

+1

@ Polarbear0106:私は単位の単位を指しています。 1 'dp'は1/160インチです。 – CommonsWare

関連する問題