Android 中的dp和px

匿名 (未验证) 提交于 2019-12-03 00:32:02

在安卓运用中,配置距离的时候用dp后者px都可以,一般情况下在xml中用dp的时间很多,但是在代码中设置参数的时候,传入的参数却是px。dp的设置跟手机没有关系,固定的dp在每台分辨率不同的手机都显示距离是一样的,所以一般也用dp作为一个固定的设置。

像素点,比如1080*1920的屏幕,就是宽1080个像素点和高1920个像素点。

dpi: 像素密度, 是每一英寸屏幕的像素数量.关于他的计算方法(以1080*1920的5英寸屏幕为例):屏幕的对角线像素数/屏幕的尺寸 √(1080*1080+1920*1920)/5=441dpi。

dp:也叫dip设备无关像素。 1dp的概念是,1英寸的尺寸下有160个像素时,1dp = 1px。 也就是 如果你的手机像素密度是320dpi(一英寸有320个像素点)时, 1dp = 2px。


dp和px之间的转换。

public class DensityUtil {      /**      * 根据手机的分辨率从 dp 的单位 转成为 px(像素)      */     public static int dip2px(Context context, float dpValue) {         final float scale = context.getResources().getDisplayMetrics().density;         return (int) (dpValue * scale + 0.5f);     }      /**      * 根据手机的分辨率从 px(像素) 的单位 转成为 dp      */     public static int px2dip(Context context, float pxValue) {         final float scale = context.getResources().getDisplayMetrics().density;         return (int) (pxValue / scale + 0.5f);     } }


文章来源: Android 中的dp和px
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!