Android中dp与px互相转化的工具类

前言

该工具类适配于kotlin开发,采用的扩展函数方式,使用更加简便,同时添加了不同类型的支持,后期显示相关内容的所需的工具类遇到了才会在这里逐个添加。

kotlin 复制代码
object DisplayUtils {
    private val density: Float
        get() = Resources.getSystem().displayMetrics.density

    private val scaledDensity: Float
        get() = Resources.getSystem().displayMetrics.scaledDensity

    
    // ========== px -> dp ==========
    fun Int.dp(): Int = (this / density).toInt()
    fun Float.dp(): Float = this / density

    // ========== dp -> px ==========
    fun Int.px(): Int = (this * density).toInt() //dp转
    fun Float.px(): Float = this * density

    // ========== px -> sp(文字)==========
    fun Int.sp(): Int = (this / scaledDensity).toInt()
    fun Float.sp(): Float = this / scaledDensity
}
相关推荐
2401_833269302 小时前
RecyclerView多布局详解
android
v_34836087622 小时前
Android_8 zygote启动分析
android
消失的旧时光-19432 小时前
Android 系统层扫盲 11:JNI 到底是什么?Java / Kotlin 是怎么调用 C/C++ 的?
android·binder·zygote·system_server·aops
mmsx3 小时前
Android 地图几万要素卡成幻灯片?顶点缓冲批上传与显存复用
android·opengl·地图·栅格
北京自在科技13 小时前
谷歌 Find Hub 迎来新版本更新
android·安卓
古法安卓19 小时前
Android-休眠唤醒后onLocationChanged没有数据问题排查
android·java·android studio
Htr_1 天前
Creem 2.0 使用指南:面向 AI 构建时代的资金平台
android·数据库·人工智能·ui·photoshop
wardenlzr1 天前
车机看门狗(Watchdog)为何会让整机硬重启
android·优化·车机
IT毕设实战小研1 天前
基于大数据的商场商铺数据分析与可视化的设计与实现
android·java·大数据·django·课程设计