ご存知のように、寸法とサイズをdpにすると、すべてのデバイスでほぼ同じになります。ほとんどバケット範囲のせいだと言います。たとえば、240dpi で presnets する hdpi では、200dpi と279dpiのデバイスはすべてhdpiリソースと dimens フォルダーを使用し、同じサイズのピクセルを使用します。
px = dp * (dpi/160)
たとえば、サイズが300dpのオブジェクトは、最初のデバイス (200dpi) では (dp/dpi=インチ) 300/200 = 1.5 インチになり、別のデバイスでは 300/279=1.07 インチになります。(279dpi デバイス) したがって、ご覧のとおり、hdpi の範囲の上限と上限の間にはあまりにも多くの違いがあり、UI はインチ単位で同じではありません。
この問題を解決するための最良の解決策は、sw でバケットをより具体的に分割しdimens.xml
、バケット範囲ごとに dp サイズを変更することです。しかし、バケットを分割する方法と、それらの値を作成する方法がわかりません!
問題は、これに適切なフォルダ範囲は何ですか? これを達成するための分割 sw サイズのベスト プラクティスは何ですか。(sw160、sw320、sw480 または何?) 寸法の値を追加する方法?
アップデート
一部の友人は、なぜ dp の代わりに in を使用しないのかと言っています。これが私の答えです。
- Android は同じ式 (画面の解像度 / dpi = インチ) でインチを取得するため、問題は同じであり、すべてのデバイスで正確ではありません。
- Android は、inch と mm と cm の使用は推奨されないと言いました。