2012-03-06 27 views
1

私はアンドロイドのために開発しています。私のコードは、ネクサスや3.7インチデバイスで完璧に動作します。 タブレット(7インチまたは10.1インチ)で実行すると、フォントとボタンが非常に小さく、間隔が大きすぎます。解像度と密度

2.7 QVGAで実行すると、ボタンが大きすぎて重なってしまいます。

私はレイアウト全体にdpとspを使用していますので、異なる画面サイズ/密度に従って調整していないのは驚きです。 これは、3つのレイアウトフォルダ(大、中、小)で同じXMLレイアウトを作成し、3つの異なる密度フォルダにdrawableを配置する必要があることを意味しますか? または私はここで何かをamissingです。はい、私は「複数の画面をサポートしています」という文書を読んでいますが、詳細がわかりません(しかし、私はdpとspを使うヒントに従いました)。私は要約/一般的なアプローチの答えのより多くを探しています。

答えて

0

dpおよびspは、画面の密度に従って調整されます。したがって、500 dpiと4000 dpiが同じで、同じスクリーンサイズのスクリーンは同じように見えます。

画面のサイズが異なる場合は、希望通りのサイズにはなりません。複数の画面サイズをサポートしたい場合は、重みやパーセンテージを使用する必要があります。

キーは、dp =デバイスに依存しないピクセルであり、画面のサイズではなく、濃度に応じて調整されます。

+0

ohhh私はこのボタンが20dpで画像の左側にあると言いたいのですが、別の画面サイズではこの距離が短すぎたり長すぎたりする可能性がありますか?私はそのような要件のために重み付け/パーセンテージを使用できるとは確信していません。小さな画面サイズの小さなdpで別のレイアウトを作成することもできますか – Snake

+0

どのようにフォントを調整できますか? – Snake

+0

修正します。レイアウトは実際にはタブレットでも同じでなければなりませんが、右/下/何にでも多くのスペースがあります。フォントに関しては、わかりませんが、実際には変更する必要があります。また、異なる画面サイズに異なるレイアウトを使用することもできます。 – jsimpson

0

タブレットアプリケーションを作成しない場合、ほとんどの場合、さまざまな密度/サイズに対して複数のXMLレイアウトを作成する必要はありません。あなたが言ったようにDPとSPで寸法を定義するだけです。

しかし、画面サイズ/密度のいずれかを表示するために、描画可能なフォルダに異なる画像を提供する必要があります。

すべての画像をdrawableフォルダ(hdi、ldi、またはmdiを指定しないで)に置くと、Androidは画像を調整しようとしますが、常にうまく機能するとは限りません。

希望します。