web-dev-qa-db-ja.com

テキストサイズに「dp」ではなく「sp」を使用する必要があります

私が使うとき

Android:textSizes="20dp" 

textViewのXMLで、「"sp" の代わりに "dp"はテキストサイズです。」

なぜ「dp」を使用すべきではないのですか?正しいアプローチは何ですか?異なるディスプレイで同じテキストサイズを実現するにはどうすればよいですか?

23
Peter Panne

SPフォントはユーザー設定を尊重するため、常に使用する必要があります。 ここに例があります 例を使って理解しましょう-

SPおよびDPを含むテキスト

enter image description here

デバイステキスト設定を変更します(設定->ディスプレイ->フォントサイズ)

enter image description here

アプリを再度開き、テキストを確認します。SPを使用していたテキストは、DPとは高さが異なります。

enter image description here

34
Ajit Singh

Spとdpを使用できます。 Android設定でご存知のとおり、テキストサイズを変更できます([設定]-> [デバイス]-> [表示]-> [フォントサイズ])。設定でフォントサイズを変更すると、sp内のすべてのtextViewが変更されます。 -変わらない

27
resource8218

両方使用できます

spフォントサイズ
dpそれ以外はすべて。

dp
密度非依存ピクセル-画面の物理密度に基づく抽象的な単位。これらの単位は160 dpi画面に関連しているため、1 dpは160 dpi画面上の1ピクセルです。 dpとピクセルの比率は画面密度によって変化しますが、必ずしも正比例しているわけではありません。注:コンパイラーは「dip」と「dp」の両方を受け入れますが、「dp」は「sp」とより一貫しています。

sp
スケールに依存しないピクセル-これはdpユニットに似ていますが、ユーザーのフォントサイズ設定によってもスケールされます。フォントサイズを指定するときは、この単位を使用することをお勧めします。これにより、フォントサイズが画面密度とユーザーの好みの両方に対して調整されます。

詳細は Androidのpx、dp、dip、spの違い? を参照してください。

13
Giru Bhai

@GiruBhaiが共有したように、テキストサイズにはdpの代わりにspを使用する方が便利です。これは、dpとは異なり、ユーザーの好みに応じて変更できるためです。

より詳しい情報。 : Androidの寸法

ソース:developer.Android.com

0
Recomer