JavaからTextViewを生成するとき。。。テキストサイズ、なんかおかしくね?、って思ったことありませんか?
特にXMLリソースでDimensionを設定しこれをJavaで取得してTextViewに適応するとき「フォントサイズでかくね?」って思うことありませんか?
TextView#setTextSize(float)がやっていることって実は
内部でSPをちゃんとかけてます。まぁ、ちゃんとJavaDoc読めば
This size is adjusted based on the current density and user font size preference.
って書いてあるんですけどね。。。
ちなみにsetTextSize(int, float)で利用されているTypedValue#applyDimensionは
らしいので、純粋にXMLで設定したDimensionをJavaから設定するには
こんな感じで指定すればいいらしい。
ただしsetTextSize(int, float)が利用できない場合は
きれいじゃ無いけどしょうが無いよねっ!
ちなみにdpとspの違いは、dpは画面解像度に対してのみで決定されるのに対し、spは更にユーザーが設定に応じて倍率が変更されるらしいです。
IS05にはその倍率設定画面が見当たらないけど。。。