公開日:2020/07/08更新日:2020/08/03
【Kotlin】px ↔ dpの変換方法

- px ↔ dpの変換方法が知りたい
本記事では、px ↔ dpの変換方法について紹介しております。
目次
px ↔ dpの変換方法
変換式
px ↔ dpの変換式には、DisplayMetricsのdensityを使用します。
参考:density | DisplayMetrics | Android デベロッパー
以下のような処理となります。
使いどころ
使いどころとしましては、自分はViewのMarginをコードで動的に設定するときなどに、dp → pxの変換式を使用いたします。
以下のサンプルは、TextViewを3つ並べて表示したものです。1つ目のTextViewは、xmlファイルで実装し、左右のMarginに50を指定しております。
2つ目と3つ目のTextViewは、コードで動的に実装したものです。setMargins()でMarginを設定する際に、片方はそのまま50を、もう片方はdpをpxに変換したものを指定しております。
xmlのMarginはdpなのに対し、setMargins()の引数はpxとなっているため、このような差が生じております。
知らず知らずのうちにpxとdpの指定がごっちゃにならないよう、気をつけないといけませんね。
関連記事