スクリーン上の長さを、抽象的な単位「dp」「sp」で表します。実際アンドロイドの画面サイズ解像度はメーカーによってまちまちですから、アプリを開発する側からすると何か便利な方法はないかと考えてしまいます。ピクセル密度Androidは様々なスクリーンサイズ(インチ)で、更に異なる画素数(ピクセル)のものが販売されていて、その1つ1つに合わせたレイアウト・デザインを作り込むのは大変です。ピクセルサイズの画像の貼り付けをしたい時に問題があります。いう画面サイズ、インチ数を包括し統一的に扱うことを目的とした抽象的な単位をAndroidでは提供されているわけです。sp(フォント用)です。sp画像やテキストサイズはデジタルの世界ではピクセルという点が基本で、点が集まって画像になったり文字になったりします。ピクセル自体には物理的大きさはないのですが、PC画面や印刷物になるといきなり物理的な関連が出てきます。1インチ幅のドット数、値が大きいほど1ドットの物理的な大きさが小さくなり、よりきめ細かくなる。18spレイアウトはspサイズになりますが、ユーザーがフォントサイズを変えると画面上で大きくなったり小さくなったりします。入れTypedValueを設定する必要があります。画像として文字を入れてしまうのも手です、dpとしての縛りがありますがただ、ユーザーが老眼だったりすると文字が小さくて見えないという不満がでるでしょうね...その辺も考慮する必要もあります。