リソースファイルでサイズを定義する方法
リソースファイルでフォントサイズ等を定義して利用する場合は、以下のように記述します。
font_size = getResources().getDimension(R.dimen.font_small_sp);
リソースファイル「dimens.xml」では、以下のように定義します。
<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="margin_small_dp">3dp</dimen> <dimen name="margin_medium_dp">5dp</dimen> <dimen name="margin_large_dp">7dp</dimen> <dimen name="font_small_sp">13sp</dimen> <dimen name="font_medium_sp">15sp</dimen> <dimen name="font_large_sp">17sp</dimen> </resources>
なお、dpとspは、画面解像度に依存しない単位です。
画面解像度に応じて拡大縮小されますので、これらの単位を使用すれば、様々な解像度にアプリを対応させることができます。
フォントサイズにはsp、それ以外のサイズにはdpを使用します。
ldpi--> 1dp/1sp = 0.75px mdpi--> 1dp/1sp = 1.0px hdpi--> 1dp/1sp = 1.5px
と解像度に応じて拡大縮小して表示されます。