看到有很多网友不太理解dp、sp和px的区别:现在这里介绍一下dp和sp。dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp 或sp。但如果设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。如果屏幕密度为160,这时dp和sp和px是一样的。1dp=1sp=1px,但如果使用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厘米。读者可以去量一量自己的手机屏幕,看和实际的尺寸是否一致。
mm:表示毫米,是屏幕的物理尺寸。
pt:表示一个点,是屏幕的物理尺寸。大小为1英寸的1/72。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/nokiaguy/archive/2010/04/21/5509638.aspx
分享到:
相关推荐
#### 二、单位介绍 1. **px (Pixels)** - **定义**:px代表屏幕上的物理像素点。它是与屏幕分辨率紧密相关的单位,即在不同密度的屏幕上,相同数量的px所表示的实际大小是不同的。例如,在高密度屏幕上,相同数量...
本文将详细介绍各种Layout中常用的一些重要属性,并将其分为三类进行阐述:定位与对齐、间距与填充、文本与图像处理。 #### 一、定位与对齐 1. **水平与垂直居中** - `android:layout_centerHorizontal` 和 `...
本文将详细介绍如何在Android Studio项目中根据GPS获取经纬度和海拔。 首先,为了获取地理位置信息,我们需要在AndroidManifest.xml文件中请求相应的权限。添加以下权限: ```xml <uses-permission android:name=...
在Android系统中,检测手机信号强度是通过与设备的无线电通信模块交互来实现的。Android定义了两种衡量信号强度的单位:dBm和asu。dBm是一个表示功率绝对值的单位,通常用来描述无线电信号的强度,而asu是Android...
Android三角形的绘制 Android绘图中,绘制三角形是最基本也是最重要的一步骤。本篇文章将指导您如何使用Android平台绘制一...本文指导您如何使用Android平台绘制一个三角形,并介绍了绘制三角形的基本步骤和知识点。
本文将详细介绍如何利用Android提供的API来获取系统进程信息,并展示一个简易进程管理器的实现过程。 #### 一、基础知识准备 在开始之前,我们需要了解以下概念: 1. **ActivityManager**:它是Android系统提供的...
本指南将详细介绍Android应用程序的基本概念和技术要点,特别适合初级开发者入门。 #### 二、应用程序基础 Android应用程序由一系列组件构成,主要包括Activity、Service、BroadcastReceiver、ContentProvider和...
本项目聚焦于创建一个基础的Android秒表功能,下面将详细介绍相关的知识点。 1. **Android Studio与XML布局**:首先,你需要使用Android Studio作为开发环境。在创建新项目时,会生成一个默认的Activity,通常为...
本篇文章将详细介绍如何在Android应用中实现信号强度的检测。 #### 检测原理 信号强度通常指的是移动网络(如2G、3G、4G/LTE)的信号质量。在Android中,可以通过`TelephonyManager`类获取到相关的信号强度信息。...
在"Android开发中线程池的使用Demo"博客中,可能还会介绍如何使用`Future`和`Callable`来获取任务执行结果,以及如何通过`ThreadPoolExecutor`的其他方法(如`getActiveCount()`和`getCompletedTaskCount()`)监控...
这个XML文件将包含`<animation-list>`标签,其中的每个`<item>`标签代表一帧,`android:drawable`属性指定了帧的图片资源,`android:duration`则定义了该帧持续的时间(以毫秒为单位): ```xml ...
"表明,本节将介绍Android中最简单的UI组件以及工程的建立流程。以下将详细说明这些知识点: 1. 工程建立 在开始Android开发之前,首先需要建立一个新的Android工程。工程的建立涉及到选择合适的API版本,设置项目...
下面将详细介绍如何在Android中创建一个简单的文字淡出效果。 首先,我们需要了解Android中的动画系统。Android支持两种类型的动画:属性动画(Property Animation)和视图动画(View Animation)。在本例中,我们...
本教程将详细介绍如何为Android应用程序创建一个自定义按钮,实现长按事件处理的功能。长按操作在许多场景下都十分实用,比如菜单的呼出、选择操作等。 首先,我们需要创建一个新的XML布局文件来定义自定义按钮。在...
本文将详细介绍一个常见的自定义`FileUtil`类,用于在Android中执行文件的增删改查操作。 首先,`FileUtil`类通常会包含对系统文件和SD卡文件的常用操作方法。在Android中,访问外部存储(SD卡)需要在...
在博文链接提供的资源中,作者`lhq1013`可能详细介绍了如何在实际环境中使用`smem`进行内存分析,并可能分享了一些实际案例和技巧。遗憾的是,由于没有具体的内容,我们无法提供更具体的细节。不过,你可以直接访问...
此外,文档可能还会介绍如何在Android应用中集成串口通信库,比如UsbSerial库,这将简化开发流程,使非硬件专家也能轻松实现通信功能。 六、测试与应用 根据描述,这个DEMO已经过实际测试,证明了其有效性。开发者...
在Android开发中,为了实现跨不同屏幕尺寸和密度设备的兼容性,通常推荐使用dp作为尺寸单位,因为它可以自动根据设备的密度进行调整。而像素单位(px)则更适用于处理图片或者其他需要精确像素对齐的情况。 在实际...
在Android操作系统中,传感器是设备与现实世界交互的关键组件,为应用程序提供了丰富的环境感知能力。在Android 2.3 Gingerbread版本中,Google为开发者提供了11种不同的传感器类型,让我们逐一了解它们的功能和应用...