2016-11-21 9 views
0

アンドロイドでビューを定義するときは、余白やサイズなどにdpを使用しますが、テキストサイズにはspを使用します。 spはdpと同じですが、テキストの場合は同じです。なぜ私たちはすべてのためにspを使うことができないのですか? 私は2つの違いが分かります。私はspがdpのスーパーセットであるかどうかを尋ねています。なぜdpを使うのですか?ビューですべてのサイズを指定するのにspを使用しないのはなぜですか?なぜ、spをdpの代わりにすべて使用するのではないのですか?

+5

可能な複製http://stackoverflow.com/questions/2025282/what-is-the-difference-between-px-dp-dip-and-sp-on-android –

+0

私の答えを参照してくださいhttp://stackoverflow.com/a/40717863/6893465異なる画面サイズの違いを参照してください.. –

答えて

1

DP 密度に依存しないピクセル - 画面の物理的密度に基づいている抽象ユニット。これらの単位は160 dpiの画面を基準にしているため、1 dpは160 dpiの画面上の1ピクセルです。 dpとピクセルの比率は画面の密度に応じて変化しますが、必ずしも正比例ではありません。注意:コンパイラは "dip"と "dp"の両方を受け入れますが、 "dp"は "sp"と一貫しています。

sp- スケールに依存しないピクセル - これはdp単位のようですが、ユーザーのフォントサイズの優先順位に合わせて調整されます。フォントサイズを指定するときは、本機を使用することをお勧めします。そのため、画面の密度とユーザーの好みの両方で調整されます。

Density Independence in androidSupporting Multiple Screens

2

測定のSP部は、フォントのために使用され、DPがあることをまったく同じ方法で依存画素 密度である参照します。あなたのフォントがどれくらい大きくなるかを決めるときに Androidデバイスが考慮する余分な計算は、使用するspの値に基づいて は、ユーザー独自のフォントサイズ設定です。したがって、普通のサイズのフォントを持つデバイスとエミュレータで アプリをテストすると、 の視力障害(または大きなフォントが好き)のフォント設定が大きいユーザーは、 あなたが見たものと異なるものが表示されますテスト中。

0

spをすべて使用できないのは、設定からフォントサイズを大きくすると、ボタンやその他のビューではなく、テキストのサイズを変更するだけだからです。だから、残りの部分はdpを使い、テキストはspを使うだけです。

関連する問題