KotlinのExtensionを利用して以下のようにdp, spに変換することができます。
textView.textSize = 10f.sp
view.layoutParams = LayoutParams(
LayoutParams.MATCH_PARENT,
100.dp)
プロジェクト内に以下のファイルを置くとプロジェクト内のどこからでも使用できます。
MyUtil.kt
package com.yourapp.util // <- ここは各自のパッケージ名に変更
import android.content.res.Resources
import android.util.TypedValue
import android.util.TypedValue.applyDimension
val Float.dp get() = applyDimension(TypedValue.COMPLEX_UNIT_DIP, this, Resources.getSystem().displayMetrics)
val Float.sp get() = applyDimension(TypedValue.COMPLEX_UNIT_SP, this, Resources.getSystem().displayMetrics)
val Int.dp get() = toFloat().dp.toInt()
val Int.sp get() = toFloat().sp.toInt()