zoukankan      html  css  js  c++  java
  • 安卓开发:效果图中标注的像素尺寸如何转换为安卓的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,使用该比例之后发现和效果图基本一致,完美。





    —————完—————

     






  • 相关阅读:
    仿windows的嵌入式GUI系统(一)
    入群必看内容。
    嵌入式开发入门(2)
    仿windows消息机制的嵌入式GUI系统(二)(未完)
    使用硬件定时器软模拟多个定时器(8.15改进版)
    Python 文件目录操作
    C/C++ cast
    C/C++ basic
    C/C++ debug
    C++ 引用返回值
  • 原文地址:https://www.cnblogs.com/strinkbug/p/5780910.html
Copyright © 2011-2022 走看看