解像度が の Pantech デバイス用に、高さと幅をピクセル単位で指定してアプリケーションを作成しました480x800
。
G1 デバイスの高さと幅を変換する必要があります。dp
に変換すると問題が解決し、両方のデバイスに同じソリューションが提供されると考えました。
ピクセルを dp に変換する簡単な方法はありますか?
何か提案はありますか?
ベストアンサー1
Javaコード:
// Converts 14 dip into its equivalent px
float dip = 14f;
Resources r = getResources();
float px = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
dip,
r.getDisplayMetrics()
);
Kotlin コード:
val dip = 14f
val r: Resources = resources
val px = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
dip,
r.displayMetrics
)
Kotlin 拡張機能:
fun Context.toPx(dp: Int): Float = TypedValue.applyDimension(
TypedValue.COMPLEX_UNIT_DIP,
dp.toFloat(),
resources.displayMetrics)