Android 2.0 での解像度のサポート
-
19-09-2019 - |
質問
初めての Motorola Droid ユーザーからメールを受け取りました。Android 2.0 で導入された新しい 480x854 解像度 (320x480 ではなく) は、ユーザー インターフェイスに大混乱を引き起こしています。すべてが小さくて位置が悪い。
XML レイアウト ガイドに従えば、絶対座標が使用されないため、解像度は安全であるという印象を受けました。UI 解像度を安全にする経験のある人はいますか?各解像度と各方向の積に main.xml が必要になるでしょうか?
解決
どの寸法単位を使用しましたか?
私の知る限りでは dp
そして sp
あなたの安全を守ってくれるはずです。
ドキュメントから:
DP密度非依存ピクセル - 画面の物理密度に基づく抽象ユニット。これらのユニットは160 dpi画面に関連しているため、1つのDPは160 dpi画面上の1ピクセルです。DPとピクセルの比率は、画面密度とともに変化しますが、必ずしも直接的な比率ではありません。注記:コンパイラは「DIP」と「DP」の両方を受け入れますが、「DP」は「SP」とより一致しています。
spスケールに依存しないピクセル - これはDPユニットのようなものですが、ユーザーのフォントサイズの設定によってもスケーリングされます。フォントサイズを指定するときにこのユニットを使用することをお勧めします。そのため、画面密度とユーザーの好みの両方に対して調整されます。
他のヒント
eclair エミュレータはこれらの問題に対して驚異的に機能します。以下も必ずお読みください。
http://developer.android.com/guide/practices/screens_support.html
アプリケーションは、min-sdk を含む多くの要因に基づいて、さまざまな解像度に応答します。また、このページにはいくつかのベスト プラクティスもあります。
- XML レイアウト ファイルでは、wrap_content、fill_parent、および dip 単位を px に優先します。
- AbsoluteLayout を避ける
- コード内でハードコーディングされたピクセル値を使用しないでください。
- 密度および/または解像度固有のリソースを使用する
別に解像度差から、考慮すべき他のものは、ドロイドのWVGA画面がG1のような従来の装置とは異なるアスペクト比を有することです。私がダウンロードした多くの古いアプリケーションでは、これは、画面の下部に、または垂直ポートレートモードにずれている要素のギャップとして現れます。あなたのレイアウトは、アスペクト比が約作る任意の隠された仮定を確認するためにWVGAの皮膚にエミュレータでアプリを実行してみたいことがあります。