• Android布局单位以及布局详细说明


    概念:

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

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

    上面的理解是错的,整个屏幕所拥有的dp是由px和dpi这两个硬件参数共同决定。

    dp=px*160/dpi(由px=dpi/160*dp推出)


    px:pixel(像素)

    由手机硬件决定。


    dpi:dot per inch每英寸像素

    由手机硬件决定。

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

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

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


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


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

     

    布局参考表格:

    布局单位参考表
      全屏像素            常规DPI          横屏dp        

    竖屏dp           

    mdpi           480*320 160dpi 320dp

    480dp

    ldpi 800*480 240dpi 320dp

    533dp

    xldpi 1280*720 320dpi 360dp

    640dp

     

     

     

     

     

     

     

     

    如果想设置布局占半个横屏,就可以在mdpi,ldpi设置为160dp。然后在xldpi设置为180dp。

     

    SDK影响布局:

       通常我们开发在XML布局里用到dp,但dp是受到两个硬件参数影响的,因此设置dp也可能引起不同设备的布局错位!

      需要注意的是:我所使用的开发机为nexus3(1280*720、320dpi),项目设置为2.2时,它是以hdpi的模式运行。项目设置为2.2兼容4.1时,它是以xhdpi的模式运行。也就是说:在相同布局,相同设备的情况下,项目设置不同的SDK运行的可视布局也不一样!

     普通的2.2与 加上以下代码的2.2 进行对比:

    <uses-sdk
    android:minSdkVersion="8"
    android:targetSdkVersion="16" />

    如何以相对位置进行布局:

    http://www.eoeandroid.com/forum.php?mod=viewthread&tid=173973

     

    注:博客文章为本人原创,转载请标明出处为本人博客。http://www.cnblogs.com/TseChiHoi/

    一个人无梦想,同条咸鱼有咩分别?!
  • 相关阅读:
    名种样式的加入收藏和设为主页代码
    Android蓝牙UUID
    Discuz (1040) notconnect错误的解决办法
    IIS上配置404页面的图文教程
    C#操作excel(多种方法比较)
    Server Application Unavailable出现的原因及解决方案集锦
    怎么在google player下载apk
    apk反编译|android程序反编译
    discuz x2.5帖子无法访问|discuz x2.5 帖子报错500
    C#实现路由器断开连接,更改公网ip
  • 原文地址:https://www.cnblogs.com/TseChiHoi/p/2754910.html
Copyright © 2020-2023  润新知