• 安卓开发:效果图中标注的像素尺寸如何转换为安卓的dp尺寸?


    我们的UI基于1920x1080分辨率给的尺寸标注,但是在安卓开发中大家一般都使用dp、sp来标注界面尺寸,所以需要一个dp与sp的转换公式。


    一开始参考的的这篇文章:关于Android开发中px、dip、dp、sp等单位的概念和转换关系(http://blog.csdn.net/watt520/article/details/9667079)

    然后得到下面这两个公式:

    public static int dip2px(Context mContext, float dp) {  

            float scale = mContext.getResources().getDisplayMetrics().density;  

            return (int) (dp * scale + 0.5f);  

        }  


    public static int px2dip(Context mContext, float px) {  

            float scale = mContext.getResources().getDisplayMetrics().density;  

            return (int) (px / scale + 0.5f);  

    }


    对于dp和sp都用一样的公式,算出来的像素与dp之间的比例2.625,修改界面尺寸之后发现整体比效果出大了不少,有10%以上的差距。


    后来找到了如下这张不同分辨率下的px与dp转换关系对照表,那么我们的1920x1080分辨率对应的比例就是3,使用该比例之后发现和效果图基本一致,完美。





    —————完—————

     






  • 相关阅读:
    Linux下JDK的安装
    Docker 搭建 Maven 私服
    K8s 部署 PostgreSQL
    CentOS7 使用 kubeadm 部署 K8s(单机/集群)
    CentOS7 升级 Vim
    Go 函数详解
    CentOS7 安装 golang
    Redis 集群伸缩原理
    CentOS7 安装 Redis
    CentOS7 搭建 Redis 集群
  • 原文地址:https://www.cnblogs.com/strinkbug/p/5780910.html
Copyright © 2020-2023  润新知