zoukankan      html  css  js  c++  java
  • 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"/>

  • 相关阅读:
    ios10 获取idfa的坑
    iOS 获取手机sim卡的运营商(移动,电信,联通) 相关信息
    iOS获取手机IP地址
    UIScrollView 与 touchesBegan 冲突解决方法
    32位与64位基础
    MySQL数据库基础_表&简单查询
    MySQL数据库基础
    Java_File、递归
    Java_lambda表达式
    Java线程锁,等待唤醒和线程池
  • 原文地址:https://www.cnblogs.com/rhythmK/p/4058192.html
Copyright © 2011-2022 走看看