簡単にAndroidの中でSPとDPの違いを話します。


最初からAndroidのプログラムを書いて、これらの常識を教えられました。
一、dp(またはdip device independent pixels)
スクリーン密度に基づく抽象的な単位。インチごとの160点のディスプレイには、1 dp=1 pxが表示されます。デバイスによって異なる表示効果があります。これはデバイスのハードウェアと関係があります。
二、sp(Scred Pixels)
主にフォント表示に使用されますが、目盛に関係のない画素はdpと似ていますが、ユーザのフォントサイズに応じて優先順位を設定します。
簡単に言えば
  • 長さの幅の数値はdpを単位としてdimens.xmlファイルに入れます。
  • フォントサイズの値はspを単位とし、dimens.xmlファイルにも入れます。
    それから、なくなりました。セリフのように、覚えて使えばいいです。
    たまにある日、私達が陰険に字体をdpと書いたら、仕事もできます。しかも効果はspと同じです。
    この時、疑い始めましたが、一体どんな違いがありますか?dpとspはどんな違いがありますか?
    簡単なSampleを作って、下記のレイアウトコードを検証します。
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18sp"
        android:text="Hello World! in SP" />
    
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="18dp"
        android:text="Hello World! in DP"
        />
    
    
    得られた効果はこのようです。

    しかし、システム設定に入るとフォントを大きく変更します。

    再び入る前のインターフェースで、いくつかの異なるものを発見しました。

    このことから見れば
  • spをフォントサイズの単位として使うと、システムのフォントサイズに応じて
  • が変化します。
  • 、dpを単位とするとできません。
  • spについて、文書の説明は以下の通りです。
    Scale-inndependent Pixels C This is is like the dp unit、but it is also scaled by the user's font size preference.It is recommand you use this unit when specifying font sizes、so the the the denseine
    大体の意味は
  • spはスクリーン密度の影響を受けているほか、ユーザーのフォントサイズに影響を受けている。
  • 通常、spを使用して、ユーザのフォントサイズ設定
  • に従うことを提案する。
    したがって、通常の状況では、いくつかの特別な場合を除き、spをフォントとして使用することをお勧めします。システムのフォントの変化に従いたくないので、dpを使用することができます。