[備忘録] Android: DP⇔ピクセル変換
自前ライブラリ化してはいるものの、なぜかいつも忘れがちになるので備忘録として記載。
// extensionとしての実装例
/*
* DP→ピクセルの変換
*/
val Number.toPixel: Float
get() = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, this.toFloat(), Resources.getSystem().displayMetrics)
// 下記のようにディスプレイの密度で乗算してもOKだが上記のような専用メソッドを使う方が安全度は高いかも
//get() = this.toFloat() * Resources.getSystem().displayMetrics.density
/*
* ピクセル→DP変換
* (あまり使う機会はないかも・・・)
*/
val Number.toDp: Float
get() = this.toFloat() / Resources.getSystem().displayMetrics.density