私はビジュアル デザイナーであり、Android のデザインに取り組んでおり、エンジニア向けに PSD ファイルの仕様を定めようとしています。どの Android ドキュメントにも、ポイント サイズから SP への変換に関するドキュメントが見つからないようです。タイプには SP を使用する必要があります)。
6 に答える
問題は、密度に依存することです。本当に、それらは比較しようとするのに良い測定ではありません。
ポイント:1パイカには12ポイント、1インチあたり6パイカ、つまり1インチあたり72(より正確には72.27)ポイントがあります。
デバイスに依存しないピクセル(DP):これらは、MDPIディスプレイのピクセルサイズ、HDPIディスプレイのピクセルサイズの1.5倍、XHDPIディスプレイのピクセルサイズの2倍に等しくなります。(例:12dp = 12px MDPI、18px HDPI、24px XHDPI)。
スケーリングされたピクセル:これらはDP値と同等ですが、ユーザーの好みに応じて小さくまたは大きくスケーリングされます。
72 dpi(PhotoshopのデフォルトのDPI設定)でデザインしている場合、8ptフォントは8pxに相当します。これは、MDPIで8px、HDPIで12px、XHDPIで16px、またはより単純にすべての密度で8dpになります。さまざまなSP設定にどの程度のスケーリングが適用されるかわからないので、それを探す必要がありますが、基本的には、モックアップを渡して、そこから適切なサイズにするだけです。それから視覚的に閉じます。
dp (および sp からユーザー テキストのサイズ変更係数を差し引いたもの) とは対照的に、pt の物理的な測定値はほとんど同じです。Dp は、広い dpi 範囲で同じ係数を使用するため、多かれ少なかれ大まかな概算です。
フラビオが言ったように、ptをspに変換することはできません。ただし、ptをdpに大まかに変換することはできます(極端な場合は+/- 30%ですが、少なくとも+/- 10%を期待してください)。
dpi バケット (ldp=120,mdpi=160,hdpi=240,xhdpi=320) を使用すると、最も一般的な変換係数はx0.45 (= 72/120*0.75 = 72/160*1 = 72/240*1 ) になります。 ,5 = 72/320*2) 正確な dpi バケット値を使用する場合。
より正確な要因については、次のとおりです。
- mdpi (倍率: 1.0) 10.1" WXGA 画面 (149dpi) は0.483076923 (= 72/149 * 1.0)
- hdpi (倍率: 1.5) Nexus 7 (216dpi) は0.5 (= 72/216 * 1.5)
- xhdpi (倍率: 2.0) Nexus 10 (300dpi) は0.48 (= 72/300 * 2)
したがって、12ポイントがオンになります...
- 10.1インチ WXGA: 24.84dp
- Nexus 7: 24 dp
- Nexus 10: 25 dp
- dpi バケット値: 26.666dp
sp に同じ値を使用することもできますが、これらはユーザー設定によって増減される可能性があることに注意してください。
^フラビオの言葉。ただし、Android デベロッパー サイトで表示メトリクス クラスの概要を確認してください。ここで必要なものが見つかるかもしれません... http://developer.android.com/reference/android/util/DisplayMetrics.html#
ユーザーがシステム設定でデバイスのフォント サイズを変更すると、sp が動的に設定されるため、pixels と sp の間に直接的なマッピングはありません。ユーザーは、すべてのアプリ フォントを小さいサイズまたは大きいサイズで表示したい場合があります。これは、OS によって提供されるアクセシビリティ機能です。