Android-分辨率以及dip(dp)、dpi、ppi、px、sp、pt说明

来源:互联网 发布:java入门到精通4 pdf 编辑:程序博客网 时间:2024/06/11 02:00
Android-分辨率以及d

ip(dp): device independent pixels(设备独立像素)

dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度。

dpi:dot per inch

dpi=(√(横向分辨率^2+纵向分辨率^2))/屏幕尺寸)

ppi:pixels per inch(跟dpi一样)

计算了一下小米手机屏幕的PPI,4.0英寸、分辨率854X480,PPI(DPI)

 

  =√(854^2+480^2)/4=244.912……≈245.

px:pixel

sp:scaled pixels(放大像素),主要用于字体显示。

pt:point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业。

 

平常所说的hdpi等划分方法(按DPI来划分):

1.jpg

 

2.jpg

 

 

关于分辨率适配:

 

一、细说layout_weight

 

    目前最为推荐的Android多屏幕自适应解决方案。

 

    该属性的作用是决定控件在其父布局中的显示权重,一般用于线性布局中。其值越小,则对应的layout_width或layout_height的优先级就越高,一般横向布局中,决定的是layout_width的优先级;纵向布局中,决定的是layout_height的优先级。

 

    传统的layout_weight使用方法是将当前控件的layout_widthlayout_height都设置成fill_parent,这样就可以把控件的显示比例完全交给layout_weight;这样使用的话,就出现了layout_weight越小,显示比例越大的情况。不过对于2个控件还好,如果控件过多,且显示比例也不相同的时候,控制起来就比较麻烦了,毕竟反比不是那么好确定的。

 

    于是就有了现在最为流行的0px设值法。看似让人难以理解的layout_height=0px的写法,结合layout_weight,却可以使控件成正比例显示,轻松解决了当前Android开发最为头疼的碎片化问题之一。

 

ip(dp)、dpi、ppi、px、sp、pt说明
0 0
原创粉丝点击