文字サイズにご注意!dpとspの違い

   

今日は、Androidでプログラムやデザインをやってる人にとっては(願わくば)常識的な内容だと思いますが、Androidにおける文字サイズ指定について少し触れておきたいと思います。

みなさんは、Androidのシステムのフォントサイズの指定は何にしていますか?
ちなみに私は「小」です。
え?デフォルトのまま?まあ、だいたいの人はそうでしょうね。
というより、そもそもフォントサイズを変えられる事に気づいてない人が多い気がします。
まあ、一般のユーザー様はそんなに意識されてないと思うのですが、我々エンジニアはそうも行かないものでして。
なんと、このフォントサイズの設定というのは厄介な事に、設定を変更すると文字のサイズが変わってしまうのです!!

いや、そんなの当たり前でしょ(^^;
いやいや、考えてみて下さいこれ。ちゃんと考慮しないでレイアウト作ってると大変ですよ。
文字サイズ変更されるとデザインが崩れちゃうんですよ。意外と盲点だったりするので気をつけて下さい。

ちなみに、タイトルに有る「dpとspの違い」ですが、結論から言うと

textSizeをdp指定する
フォントサイズ変更されても文字の大きさが変わらない

textSizeをsp指定する
フォントサイズと連動して文字の大きさが変わる

という動きになっています。
なんだ、じゃあ全部dp指定すれば良いじゃん!と思ったあなた
だめですよ。ユーザー様は文字が見にくくて見えないからフォントサイズを「大」にするのです。
にも関わらず文字が大きくならなかったら、あなたのアプリのことをユーザー様はどう思うでしょう。
まちがいなく、レビューで星1つにされてしまう(かもしれない)でしょう。

基本的には、textSizeはspで指定して、なおかつUIのデザインを文字サイズの変化に耐えられるように
最初から設計するのが正しい道ということのようです。

 - 技術系(アプリ)