Genta Hirauchi

公開日:2020/07/08
更新日:2020/08/03

【Kotlin】px ↔ dpの変換方法

  • px ↔ dpの変換方法が知りたい

本記事では、px ↔ dpの変換方法について紹介しております。

目次

px ↔ dpの変換方法

変換式

px ↔ dpの変換式には、DisplayMetricsdensityを使用します。

参考: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の指定がごっちゃにならないよう、気をつけないといけませんね。