android学习笔记18——dpi、dp、sp、xp......
参考: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......的更多相关文章
- Android中px, ppi, dpi, dp, dip, sp概念解析
Android中px, ppi, dpi, dp, dip, sp概念解析
- Android学习笔记进阶18 之画图并保存图片到本地
1.首先创建一个Bitmap图片,并指定大小: 2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可: 3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...
- Android学习笔记进阶18之画图并保存图片到本地
1.首先创建一个Bitmap图片,并指定大小: 2.在该图片上创建一个新的画布Canvas,然后在画布上绘制,并保存即可: 3.需要保存的目录File,注意如果写的目录如“/sdcard/so ...
- 【转】Pro Android学习笔记(三):了解Android资源(上)
在Android开发中,资源包括文件或者值,它们和执行应用捆绑,无需在源代码中写死,因此我们可以改变或替换他们,而无需对应用重新编译. 了解资源构成 参考阅读Android学习笔记(三八):资源res ...
- Android学习笔记之JSON数据解析
转载:Android学习笔记44:JSON数据解析 JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,采用完全独立于语言的文本格式,为Web应用开发提供了一种 ...
- golang学习笔记18 用go语言编写移动端sdk和app开发gomobile
golang学习笔记18 用go语言编写移动端sdk和app开发gomobile gomobile的使用-用go语言编写移动端sdk和app开发https://blog.csdn.net/u01249 ...
- 【转】Pro Android学习笔记(四):了解Android资源(下)
处理任意的XML文件 自定义的xml文件放置在res/xml/下,可以通过R.xml.file_name来获取一个XMLResourceParser对象.下面是xml文件的例子: <rootna ...
- udacity android 学习笔记: lesson 4 part a
udacity android 学习笔记: lesson 4 part a 作者:干货店打杂的 /titer1 /Archimedes 出处:https://code.csdn.net/titer1 ...
- Android 学习笔记之Volley(七)实现Json数据加载和解析...
学习内容: 1.使用Volley实现异步加载Json数据... Volley的第二大请求就是通过发送请求异步实现Json数据信息的加载,加载Json数据有两种方式,一种是通过获取Json对象,然后 ...
随机推荐
- CentOS云服务器数据盘分区和格式化
1. 查看数据盘信息 登录CentOS云服务器后,可以使用“fdisk -l”命令查看数据盘相关信息. 使用“df –h”命令,无法看到未分区和格式化的数据盘,只能看到已挂载的. [root@VM_7 ...
- python矩阵运算 不断收集整理
python矩阵运算 转自:http://blog.sina.com.cn/s/blog_5f234d4701012p64.html Python使用NumPy包完成了对N-维数组的快速便捷操作.使用 ...
- Eclipse中Egit冲突解决
Eclipse中Egit冲突解决 Git 作为进来最流行的分布式版本控制软件来说应用的十分广泛.EGit就是一款Eclipse上的Git插件.在使用Egit提交项目时,有时会产生冲突,需要对代码进行m ...
- 全国信息学奥林匹克联赛 ( NOIP2014) 复赛 模拟题 Day1 长乐一中
题目名称 正确答案 序列问题 长途旅行 英文名称 answer sequence travel 输入文件名 answer.in sequence.in travel.in 输出文件名 answer. ...
- linux之mysql启动问题
网站总是挂掉,查看到原来是mysql总是莫名其妙的挂掉 1.查看mysql日志的位置 mysql> show VARIABLES like '%log%'; +----------------- ...
- 《灰帽Python-黑客和逆向工程师的Python编程》学习记录
ctypes是Python语言的一个外部库,提供和C语言兼容的数据类型,可以很方便的调用C DLL中的函数. 操作环境:CentOS6.5 Python版本:2.66 ctypes是强大的,强大到本书 ...
- matlab绘图+计算心得
Matlab 常用于做一些计算实验和绘图,我主要用matlab来绘图件.Matlab 可以用GUI界面来完成绘图,但是既然能用鼠标完成的绘图,那么一定能用代码命令来完成绘图,个人比较喜欢用命令来完成m ...
- Echarts通过Ajax实现动态数据加载
Echarts(3.x版)官网实例的数据都是静态的,实际使用中往往会要求从服务器端取数据进行动态显示,官网教程里给出的异步数据加载很粗略,下面就以官网最简单的实例为例子,详细演示如下过程:1.客户端通 ...
- PostgreSQL9.6新功能
PostgreSQL是世界上最先进的开源数据库,9.6最新版本由PostgreSQL全球开发者今天发布. 此版本将允许用户纵向扩展(scale-up)和横向扩展(scale-out)来提高数据库的查询 ...
- javascript对时间的校验操作
function check() { var startTime=$("#sTime").val(); var endTime=$("#eTime").val( ...