サイズをdp(dip)で指定する
ピクセル密度が異なる端末でも、対象の図形やビューをおおかた同じ大きさで表示させるには、dp値を指定します。
dp(dip)についての詳細は、ここでは省略させていただきます。
dp値から、実際のピクセル数を求める
ピクセル = getDisplayMetrics().density * (dpで指定したお好きな値);
getDisplayMetrics().densityで、倍率を取得できるようなので、dpで指定した任意の値に掛けてやることで、ピクセル数を取得できます。必要に応じて(int)にキャストします。
意外と、単純明快でわかりやすかった。
アクティビティの外から呼び出す場合は、
getResources().getDisplayMetrics()
たとえば、ゲームアプリを開発している際、ゲーム画面は画面を大きく使いたいけど、指で押すボタンは一定のサイズに固定したいとき、dpで指定することで、「小さすぎて押せない」、「大きくてかっこわるい」などが防げそうです。
また、マテリアルデザインのガイドラインではdp値が細かく決められているので、活用する機会は多そうです。