2012-07-28 11 views
6

私はGalaxy NexusとGalaxy S3の両方を対象とするアプリを開発しました。どちらも720 x 1280の画面解像度を持っており、私は自分のアプリで「dp」の値しか使用していません。リソースは 'layout-xhdpi'と 'drawable-xhdpi'フォルダにあります。レイアウトはNexus上では問題なく完璧に見えますが、パディング値(dp)はS3上でわずかにオフになっています。 S3の画面サイズが大きくて濃度差があるため、私はそれを仮定します。Android S3のレイアウトとGalaxy Nexusのレイアウト

NexusとS3の別々のフォルダを作成して、異なる画面サイズを考慮するにはどうすればよいですか?

答えて

0

デバイスモデルを取得してレイアウトを設定できます。あなたがモデル

String phoneModel = android.os.Build.MODEL; 
if(phoneModel.equals("ABC")) { 
    // SET Ralated Layout 
} else if(phoneModel.equals("XYZ")) { 
    // SET Ralated Layout 
} 
+2

確かにこれを行うには良い方法があります。私はJavaコードではなくxmlを変更する必要があります。 – karlstackoverflow

+0

O.K.しかし、あなたが私に下投票の理由を教えてもらえますか? –

9

使用して、このスキームを得ることができ、次のよう

:同じレイアウトの風景やポートレートレイアウトsw360dpについては

のみ風景レイアウトsw360dp-土地を

肖像画専用layout-sw360dp-port

私はあなたが論文名のフォルダを作成する前にクラス分けを使うことができます。配置されたレイアウトは、Galaxy S3 - WXGA720にロードされます。これは、このタイプのデバイスのレイアウトを調整する方法です。その必要なAndroid 4.0以上。

+0

私はそのフォルダがまだ使用されていない – Mikey

5

私はを使用しました。このシステムはGS3用に使用され、私はsw360dpをGalaxy Nexusに使用します。

+0

これは私の場合では動作しません。私はsw384dpを使用しなければならなかった – whyoz

+1

完璧に動作します。 galaxy s3の場合は 'sw360dp-long'を使用し、類似のカテゴリの他のすべてのデバイスの場合は' sw360dp 'を使用します。 – astuter

2

ネクサス4:使用sw384dp(768x1280)

サムスンS3:使用sw360dp(720x1280)

両方がsw360dpバケツに落ちるんことに留意すべきであるが、一部の開発者は、物事のピクセルを作るために必要がある場合があります完璧なので、384のフォルダが必要かもしれませんが、LinearLayoutとdpユニットをハードコードする代わりに "weight"を使ってより柔軟なレイアウトを設計できるなら、避けるべきです。

関連する問題