一、介绍一下 dp 和 sp。

dp 也就是 dip。这个和 sp 基本类似。假设设置表示长度、高度等属性时能够使用 dp 或 sp。但假设设置字体,须要使用 sp。

dp 是与密度无关,sp除了与密度无关外,还与 scale 无关。假设屏幕密度为160,这时 dp 和 sp 和 px 是一样的。

1dp=1sp=1px

二、介绍一下px

但假设使用 px 作单位,假设屏幕大小不变(假设还是3.2 寸),而屏幕密度变成了320。

那么原来 TextView 的宽度设成160px,在密度为320 的3.2 寸屏幕里看要比在密度为160 的3.2 寸屏幕上看短了一半。

但假设设置成160dp 或160sp 的话。系统会自己主动将 width 属性值设置成320px 的。

也就是160 * 320 / 160。

当中320 / 160 可称为密度比例因子。也就是说,假设使用 dp 和 sp,系统会依据屏幕密度的变化自己主动进行转换。

以下看一下其它单位的含义px:表示屏幕实际的象素。

比如,320*480 的屏幕在横向有320个象素,在纵向有480 个象素。

in:表示英寸。是屏幕的物理尺寸。

每英寸等于2.54 厘米。

比如,形容手机屏幕大小,常常说,3.2(英)寸、3.5(英)寸、4(英)寸就是指这个单位。

这些尺寸是屏幕的对角线长度。

假设手机的屏幕是3.2 英寸。表示手机的屏幕(可视区域)

对角线长度是3.2*2.54 = 8.128 厘米。读者能够去量一量自己的手机屏幕。看和实际的尺寸是否一致。

欢迎大家增加我的qq 群:454430053

Android 中的长度单位具体解释的更多相关文章

  1. Android中的动画具体解释系列【4】——Activity之间切换动画

    前面介绍了Android中的逐帧动画和补间动画,并实现了简单的自己定义动画.这一篇我们来看看怎样将Android中的动画运用到实际开发中的一个场景--Activity之间跳转动画. 一.定义动画资源 ...

  2. Android中时间戳的详细解释

    Android中时间戳的详细解释: (1).定义: 时间戳就是根据当前系统时间生成的一组随机数字. (2).作用: 作为对数据唯一性的一种判断依据.避免了重复修改数据所带来的错误! (3).应用: ( ...

  3. Android中AsyncTask使用具体解释

    在Android中我们能够通过Thread+Handler实现多线程通信.一种经典的使用场景是:在新线程中进行耗时操作.当任务完毕后通过Handler向主线程发送Message.这样主线程的Handl ...

  4. Android中的动画具体解释系列【2】——飞舞的蝴蝶

    这一篇来使用逐帧动画和补间动画来实现一个小样例,首先我们来看看Android中的补间动画. Android中使用Animation代表抽象的动画类,该类包含以下几个子类: AlphaAnimation ...

  5. Android中的动画具体解释系列【3】——自己定义动画研究

    在上一篇中我们使用到了位移动画TranslateAnimation,以下我们先来看看TranslateAnimation是怎样实现Animation中的抽象方法的: /* * Copyright (C ...

  6. android中OnItemClickListener的参数解释

    @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) {} ...

  7. Android中SharedPreferences函数具体解释

    Android平台提供了一个SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置參数,比方boolean,int,float,long,Strin ...

  8. [转]android中drawable资源的解释及例子

    原文链接:         http://blog.csdn.net/wode_dream/article/details/38584693 文章中的内容参考Dev Guide中的Drawable R ...

  9. Android中BroadcastReceiver组件具体解释

    Android系统的4个组件最终还剩一种组件了BroadcastReceiver,这个组件是全局监听器,能够监听系统全局的广播消息,能够方便的实现系统中不同组件之间的通信 BroadcastRecei ...

随机推荐

  1. AOP的工作模式

    代理主要有静态代理和动态代理. 静态代理:在代理中实现接口并创建实现类对象,在对实现类的方法增加功能(不常用). 动态代理:实现implements InvocationHandler接口.实现方法: ...

  2. TCP 的那些事儿-1

    TCP是一个巨复杂的协议,因为他要解决很多问题,而这些问题又带出了很多子问题和阴暗面.所以学习TCP本身是个比较痛苦的过程,但对于学习的过程却能让人有很多收获.关于TCP这个协议的细节,我还是推荐你去 ...

  3. [BZOJ4872][六省联考2017]分手是祝愿(期望DP)

    4872: [Shoi2017]分手是祝愿 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 516  Solved: 342[Submit][Statu ...

  4. python开发_shelve_完整版_博主推荐

    ''' python中的shelve模块,可以提供一些简单的数据操作 他和python中的dbm很相似. 区别如下: 都是以键值对的形式保存数据,不过在shelve模块中, key必须为字符串,而值可 ...

  5. 点广告获取一些BTC(比特币)的网站

      免费获取比特币:http://freebtc.qiniudn.com/freebtc.html   free btc:http://freebtc.qiniudn.com/freebtc.html ...

  6. 探究react-native 源码的图片缓存

    先看js端图片使用的三种方式,依次排序1.2.3 <Image source={{uri:url}} style={{width:200,height:200}}/> 1. 加载远程图片 ...

  7. Newtonsoft.Json序列化和反序列

    这里下载:http://www.newtonsoft.com/products/json/安装:   1.解压下载文件,得到Newtonsoft.Json.dll   2.在项目中添加引用.. 序列化 ...

  8. Nagios 监控mysqlserver具体实现过程

    ,之后在页面就能够看到监控效果了 參考文章:http://os.51cto.com/art/201409/452605.htm

  9. [制作实践]一种基于LM2576的多功能开关电源设计

    http://bbs.kechuang.org/read-kc-tid-9837-page-e.html 摘要:本文介绍了一种性价比高.功能丰富的程控开关电源的设计,对基于LM2576控制核心的升.降 ...

  10. change kernel defconfig

    make -C kernel/goldfish O=/media/linux/1/touch/export/phablet-ubuntu-20130618/out/target/product/gen ...