Motorola Droid の最初のユーザーからメールを受け取りました。Android 2.0 で導入された新しい 480x854 の解像度 (320x480 ではなく) は、私のユーザー インターフェイスに大混乱をもたらしています。すべてが小さく、位置が悪い。
XML レイアウト ガイドに従えば、絶対座標が使用されないため、解像度に安全であるという印象を受けました。UI の解像度を安全にする経験がある人はいますか? 解像度ごとに各方向に main.xml が必要ですか?
Motorola Droid の最初のユーザーからメールを受け取りました。Android 2.0 で導入された新しい 480x854 の解像度 (320x480 ではなく) は、私のユーザー インターフェイスに大混乱をもたらしています。すべてが小さく、位置が悪い。
XML レイアウト ガイドに従えば、絶対座標が使用されないため、解像度に安全であるという印象を受けました。UI の解像度を安全にする経験がある人はいますか? 解像度ごとに各方向に main.xml が必要ですか?
どの寸法単位を使用しましたか?
AFAIKを使用してdp
、sp
あなたを安全に保つ必要があります。
ドキュメントから:
dp 密度に依存しないピクセル-画面の物理的な密度に基づく抽象的な単位。これらの単位は160dpi画面を基準にしているため、1dpは160dpi画面の1ピクセルです。dpとピクセルの比率は画面密度に応じて変化しますが、必ずしも直接の比率である必要はありません。注:コンパイラーは「dip」と「dp」の両方を受け入れますが、「dp」は「sp」とより一貫性があります。
sp スケールに依存しないピクセル-これはdp単位に似ていますが、ユーザーのフォントサイズの設定によってもスケーリングされます。フォントサイズを指定するときは、この単位を使用することをお勧めします。これにより、画面密度とユーザーの好みの両方に合わせてフォントサイズが調整されます。
eclair エミュレーターは、これらの問題に対して驚異的に機能します。以下も必ずお読みください。
http://developer.android.com/guide/practices/screens_support.html
アプリケーションは、多くの要因 (min-sdk を含む) に基づいて、さまざまな解像度に対応します。また、ページから、いくつかのベストプラクティスがあります:
- XML レイアウト ファイルでは、px よりも wrap_content、fill_parent、dip 単位を優先します
- 絶対レイアウトを避ける
- コードでハードコードされたピクセル値を使用しないでください
- 密度および/または解像度固有のリソースを使用する
解像度の違い以外に考慮すべき点は、Droid の WVGA 画面は、G1 などの以前のデバイスとはアスペクト比が異なることです。私がダウンロードした多くの古いアプリでは、これは画面の下部に隙間ができたり、縦向きモードで要素が縦方向にずれたりします。WVGA スキンを使用してエミュレーターでアプリを実行して、レイアウトが縦横比について行う隠れた仮定がないかどうかを確認することをお勧めします。