一、介绍一下 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. git 免密码配置

    1.cd ~/ 2.touch .git-credentials   (注意文件名前面有个  ”点”) 3.打开刚刚创建的文件,写入 https://username:password@github. ...

  2. SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建

    SpringBoot整合Shiro实现基于角色的权限访问控制(RBAC)系统简单设计从零搭建 技术栈 : SpringBoot + shiro + jpa + freemark ,因为篇幅原因,这里只 ...

  3. COMP COMP-3

    Comp (Computational) Comp (with no suffix) leaves the choice of the data type to the compiler writer ...

  4. TCP三次握手,什么情况下client会回复reset

    1. 现象 最近线上发现如下异常包, tcp三次握手期间,server端发送syn_ack,client回复了reset包: 问题:为什么client会回复reset? 2. 分析 参考linux2. ...

  5. onvif 开发中的一些重要函数介绍

    ➤soap结构中count(soap->count)成员 soap结构中count(soap->count)成员记录的是http协议中Content-Length的数值. ➤keep_al ...

  6. 「UOJ207」共价大爷游长沙

    「UOJ207」共价大爷游长沙 解题思路 : 快速判断两个集合是否完全相等可以随机点权 \(\text{xor}\) 的思路可以用到这道题上面,给每一条路径随机一个点权,维护出经过每一条边的点权的 \ ...

  7. [CC-CHEFGRPH]Time to Study Graphs with Chef

    [CC-CHEFGRPH]Time to Study Graphs with Chef 题目大意: 一个有向图可以分成\(n+2(n\le10^{12})\)层,第\(0\)层和第\(n+1\)层有\ ...

  8. [CodeForces-440D]Berland Federalization

    题目大意: 给你一棵树,你可以删掉一些边,使得分除去的子树中至少有一棵大小为k. 问最少删去多少边,以及删边的具体方案. 思路: 树形DP. f[i][j]表示以i为根,子树中去掉j个点最少要删边的数 ...

  9. django自定义分页控件

    1.准备数据 在models创建测试表 from django.db import models class Host(models.Model): hostname = models.CharFie ...

  10. 启动Tensorboard时发生错误:class BeholderHook(tf.estimator.SessionRunHook): AttributeError: module 'tensorflow.python.estimator.estimator_lib' has no attribute 'SessionRunHook'

    报错:class BeholderHook(tf.estimator.SessionRunHook):AttributeError: module 'tensorflow.python.estimat ...