参考: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. tyvj1022 - 进制转换 ——进制为负数

    题目链接:https://www.tyvj.cn/Problem_Show.aspx?id=1022 #include <cstdio> #include <cstdlib> ...

  2. Eclipse中web-inf和meta-inf文件夹的信息

    http://www.cnblogs.com/chinafine/archive/2010/06/13/1757514.html WEB-INF     /WEB-INF/web.xml        ...

  3. 重学OpenGL(一)----工具篇

    最近想开发一个小工具,需要用到3D,果断上OpenGL,借这个过程把OpenGL重学一遍. 工欲善其事,必先利其器,先把工具都搞好. [开发语言] 果断C+OpenGL,不解释. [开发环境] Min ...

  4. spring之bean的作用域scope的值的详解

    今天研究了一下scope的作用域.默认是单例模式,即 scope="singleton".另外scope还有prototype.request.session.global ses ...

  5. Java设计模式之工厂设计模式

    工厂模式(Factory Method):定义一个用于创建对象的接口,让子类决定实例化哪一个类.工厂方法使一个类的实例化延迟到了子类. 1.业务逻辑 1.1.父类Operation package c ...

  6. display:none,overflow:hidden,visibility:hidden之间的区别

    一,display:none; 隐藏元素,不占网页中的任何空间,让这个元素彻底消失(看不见也摸不着) 二,overflow:hidden; 让超出的元素隐藏,就是在设置该属性的时候他会根据你设置的宽高 ...

  7. SpringMVC @Value取值(取properties属性文件的属性值)

    @Controller @RequestMapping("/reg") public class RegController extends BaseController { @V ...

  8. ViewPager动态加载、删除页面

    很多人在网上说ViewPager的PagerAdapter.notifyDataSetChanged()无效.刚开始我也这样认为,甚至被误导以为是真理.   后来,找了一下,在PagerAdatpar ...

  9. MapReduce: 一个巨大的倒退

    前言 databasecolumn 的数据库大牛们(其中包括PostgreSQL的最初伯克利领导:Michael Stonebraker)最近写了一篇评论当前如日中天的MapReduce 技术的文章, ...

  10. #linux包之lsof之lsof命令

    2015/3/18查漏补缺,反复练习命令,有不明白或疑问的地方直接看man手册页,英文解释的比较清楚 man lsof 已阅 概述 [root@localhost ~]# rpm -qa|grep l ...