複数の画面のレイアウトの最適化に取り組んでおり、さまざまなdimens
ファイルを定義する方法に行き詰まっています。したがって、アンドロイド開発者にはsw<N>
、w<N>
またはを使用する必要があると書かれていますh<N>
が、特定の電話がどちらを使用するかを事前に知るにはどうすればよいですか?
画面解像度が 720 x 1280 の Sony LT26i があり、(試行錯誤により) 修飾子w<360>
とh<615>
. 完全にはわかりませんが、 360 は px 式の逆方向の計算、つまりpx = dp * (dpi / 160)
( 360 = 720 * 160 / 320
、320 はクラスDensityDpi
ごと) であると推測します。DisplayMetrics
ただし、同じロジックを幅に適用すると 640 になるのに、なぜ私の電話は 615 ( dpi
333.00813 の値に対応する) を使用するのでしょうか? または、幅と高さの dpi が異なりますか?
dimens
最適化のために、ファイルを定義するステップをどのように選択すればよいですか? 私は自分の携帯電話のピクセル値に基づいて計算し、px 式 (上記) を使用して指定された画面密度に基づいてステップを作成し、指定された比率 (つまり ldpi から xxxhdpi へ.75:2:3:4:6:8
) に基づいて値をスケーリングすることを検討しています。物事の進行状況に応じて個々の値を調整します。より良い方法はありますか?
AVD の特定の構成とdimens
アプリをテストするための推奨事項はありますか?