参考:http://www.cnblogs.com/greatverve/archive/2011/12/28/android-dip-dp-sp-pt-px.html

    http://www.360doc.com/content/15/0713/09/26211242_484580697.shtml

文章内容仅供参考

dpi==>device independent pixels(设备独立像素),不同设备有不同的显示效果,这个和设备硬件有关;

    一般为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素;

    dpi,也可以理解为每英寸上的像素点——表示屏幕像素的密度,单位是dpi;  

    举例说明:

      即密度无关像素,以160dpi为基准,1dip=1px

      举例:

      设备1:分辨率是480*320,像素密度是160dpi

      设备2:分辨率是800*480,像素密度是240dpi

      设备1中,1dip=1px,设备2中1dip=240/160px

dp==>等价于dpi

sp==>scale_independent pixels,可以根据文字大小首选项进行放缩,Google推荐尽量使用12sp以上的单位,不然可能会让用户看不清楚;

   推荐使用12sp,14sp,18sp,22sp,尽量不要使用奇数和小数,因为放缩的时候可能造成精度丢失。

xp==>构成图像的最小单位,pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多;

pt==> point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;

sp: scaled pixels(放大像素). 主要用于字体显示best for textsize

in(英寸)==>长度单位;

mm(毫米)==>长度单位;

分辨率==>是指整个屏幕是多少点,Eg:800*480,它是对于软件来说的显示单位,以PX为单位的点,density(密度)值表示每英寸有多少个显示点,与分辨率是两个概念。

      当屏幕的density=240时——使用hdpi标签的资源;

        当屏幕的density=160时——使用mdpi标签的资源;

      当屏幕的density=120时——使用ldpi标签的资源; 

注意:android中一般设置长度、宽度——使用dpi做单位;——在屏幕密度为160时,1pd=1px=1dpi ,1pt=160/72英寸,当屏幕为240时,1dp=1dpi=1.5px

     设置字体大小——使用sp;

 

android学习笔记18——dpi、dp、sp、xp......的更多相关文章

  1. Android中px, ppi, dpi, dp, dip, sp概念解析

    Android中px, ppi, dpi, dp, dip, sp概念解析

  2. Android学习笔记进阶18 之画图并保存图片到本地

    1.首先创建一个Bitmap图片,并指定大小:   2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可:   3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...

  3. Android学习笔记进阶18之画图并保存图片到本地

    1.首先创建一个Bitmap图片,并指定大小:   2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可:   3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...

  4. 【转】Pro Android学习笔记(三):了解Android资源(上)

    在Android开发中,资源包括文件或者值,它们和执行应用捆绑,无需在源代码中写死,因此我们可以改变或替换他们,而无需对应用重新编译. 了解资源构成 参考阅读Android学习笔记(三八):资源res ...

  5. Android学习笔记之JSON数据解析

    转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...

  6. golang学习笔记18 用go语言编写移动端sdk和app开发gomobile

    golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...

  7. 【转】Pro Android学习笔记(四):了解Android资源(下)

    处理任意的XML文件 自定义的xml文件放置在res/xml/下,可以通过R.xml.file_name来获取一个XMLResourceParser对象.下面是xml文件的例子: <rootna ...

  8. udacity android 学习笔记: lesson 4 part a

    udacity android 学习笔记: lesson 4 part a 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...

  9. Android 学习笔记之Volley(七)实现Json数据加载和解析...

    学习内容: 1.使用Volley实现异步加载Json数据...   Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...

随机推荐

  1. HighChartS cpu利用率动态图(Java版)

    来源:http://www.cnblogs.com/haifg/p/3217699.html   最近项目需要监控服务器cpu的利用率,并做成动态图.在网上查找了一些资料,最终选择了HighChart ...

  2. jqueryIFrame框架内元素操作

    //获取框架内元素 $(document.getElementById('main').contentWindow.document.body).find("#txtRD_Num" ...

  3. 学习iOS笔记第一天的C语言学习记录

    c语言基础学习 int num1 = 15; int num2 = 5; int temp = 0; //先把num1放到temp里 temp = num1; //先把num2放到num1里 num1 ...

  4. poj 1260 dp

    Description In Pearlania everybody is fond of pearls. One company, called The Royal Pearl, produces ...

  5. Pickpic和FarStone走好..GreenShot上岗

    很早前就看過這丫的,以前就是拒絕改變,換過n多切圖工具了,除了題目中倆 還自己用AHK過一款,但最後還是停在Pickpic因為要上FTP比較快 今天在SourceForge亂逛邂逅了這貨,才知道原來” ...

  6. codeforces 192e

    link: http://codeforces.com/contest/330/problem/E /* ID: zypz4571 LANG: C++ TASK: 192e.cpp */ #inclu ...

  7. resin的基本操作

    1.什么是resin?     resin是CAUCHO公司的产品,是一个非常流行的支持servlets和jsp的引擎,速度非常快.Resin本身包含了一个支持HTTP/1.1的WEB服务器.虽然它可 ...

  8. [转]ssh常用用法小结

    ssh常用用法小结 1.连接到远程主机: 命令格式 : ssh name@remoteserver 或者 ssh remoteserver -l name 说明:以上两种方式都可以远程登录到远程主机, ...

  9. 磁盘与目录的容量[转自vbird]

    磁盘与目录的容量 现在我们知道磁盘的整体数据是在 superblock 区块中,但是每个各别文件的容量则在 inode 当中记载的. 那在文字接口底下该如何叫出这几个数据呢?底下就让我们来谈一谈这两个 ...

  10. linux中的find命令——查找文件名

    1.在某目录下查找名为“elm.cc”的文件 find /home/lijiajia/ -name elm.cc 2.查找文件名中包含某字符(如"elm")的文件 find /ho ...