密度的逻辑

来源:互联网 发布:看小电影的网站知乎 编辑:程序博客网 时间:2024/06/11 18:36

        在构建布局文件时,自然会涉及像素问题.在Android中有dp,px,dip等几个单位,其中常用的是dip.

         dip的设置与分辨率无关,在默认情况下,LDPI的密度是120,系数为0.75;MDPI的密度为160系数为1.0;HDPI的,密度为240,系数为1.5.XHDPI的密度为320,系数为2.0所谓密度就是单位平方英寸中含像素的数量.

px(像素) 与dip的关系如下:

px = (int) (dip*density+0.5f)

在具体的实现中,屏幕的密度被称为scale,px和dip的转换过程如下:

public void scale(float scale){

x = (int)(x*scale+0.5f);

y = (int)(y*scale+0.5f);

if(width>0){

width = (int)(width *scale+0.5f);

}

if(height>0){

height= (int)(height*scale+0.5f);

}


}


原创粉丝点击