android 学习 之 布局(上)

  学习安卓布局前,先了解三个属性值:

1、fill_parent:

       设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间

2、match_parent:

        Android2.2中match_parent和fill_parent是一个意思 .两个参数意思一样,match_parent更贴切,
于是从2.2开始两个词都可以用。那么如果考虑低版本的使用情况你就需要用fill_parent了

 

3、wrap_content:

        设置一个视图的尺寸为wrap_content将强制性地使视图扩展以显示全部内容。

安卓的单位区别:

   px:

         px即像素,1px即代表屏幕上的一个物理像素点。px单位不建议使用

    dp:

        

在介绍这个单位之前,首先我们来了解一下像素密度。假设有一部手机,屏幕的物理尺寸为1.5英寸x2英寸,屏幕分辨率为240x320,则我们可以计算出在这部手机的屏幕上,每英寸包含的像素点的数量为240/1.5=160dpi(横向)或320/2=160dpi(纵向),160dpi就是这部手机的像素密度,像素密度的单位dpi是Dots Per Inch的缩写,即每英寸像素数量。横向和纵向的这个值都是相同的,原因是大部分手机屏幕使用正方形的像素点。
不同的手机/平板可能具有不同的像素密度。Android系统定义了几种像素密度:低(120dpi)、中(160dpi)、高(240dpi)、超高(320dpi)、超超高(480dpi)、超超超高(640dpi),它们对应的dp到px的系数分别为0.75、1、1.5、2、3、4,这个系数乘以dp长度就是像素数。例如界面上有一个长度为“100dp”的图片,那么它在240dpi的手机上实际显示为100x1.5=150px,在320dpi的手机上实际显示为100x2=200px。如果你拿这两部手机放在一起对比,会发现这个图片的物理尺寸“差不多”,这就是使用dp作为单位的效果。

 

   dip:

      dip和dp完全相同,只是名字不同而已。在早期的Android版本里面多使用dip,后来为了和sp统一起来建议使用dp。

   sp:

       

sp和dp类似,但是有一个唯一的不同点:
Android系统允许用户自定义字体大小(小,正常,大,超大等等),当大小为“正常”时1sp = 1dp = 0.00625英寸,而当大小为“大”或“超大”时,1sp > 1dp = 0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。

使用场合:

       谷歌的官方文档建议:文字的尺寸一律用sp单位,非文字的尺寸一律使用dp单位。例如textSize="16sp"、layout_width="60dp"

       偶尔需要使用px单位,例如需要在屏幕上画一条细的分隔线时:<View layout_width="match_parent" layout_height="1px"/>

posted @ 2014-10-28 22:44  Rhythmk  阅读(216)  评论(2编辑  收藏  举报
Rhythmk 个人笔记