SyntaxHighlighter

2012年1月16日月曜日

Androidアプリで使用するサイズの単位

Android Developers - Dev Guide - Dimension

Androidアプリで各サイズを指定するときの単位は以下のものがある。

dp(dip) - Density-independent Pixels
160dpiの画面に対して1dp(1dip)=1pxとして扱い、実際のピクセル数はユーザーが利用している端末の解像度に応じて変化する。dpもdipも同じだが、dpを使ったほうがspとの関係がわかりやすい

sp - Scale-independent Pixels
dpに似ているが、ユーザーが設定しているフォントサイズに応じて変化する。このため、フォントサイズの指定はspを使うことが推奨されている。実際のピクセル数は解像度とフォントサイズに準ずる

pt - Points
物理的な画面サイズの1/72インチを1ptとして扱う

px - Pixels
使用している画面のピクセル数。デバイスによってピクセル数が異なる場合があるため、この単位は推奨されない

mm - Millimeters
物理的な画面サイズでのミリメートル単位の長さ

in - Inches
物理的な画面サイズでのインチ単位の長さ

res/valuesの下にdimens.xmlなどで大きさを定義することができる
<?xml version="1.0" encoding="utf-8"?>

    25dp
    150dp
    30dp
    16sp


アプリケーションコードから参照する場合は
float font_size = getResources().getDimension(R.dimen.font_size);
と書き、xmlから参照する場合は

と書くようです。

0 件のコメント:

コメントを投稿