Android中的计量单位

来源:互联网 发布:2016最新软件站 编辑:程序博客网 时间:2024/06/10 18:55

在Android中计量单位主要用处是在 xml 布局文件中或以代码的方式来设置组件尺寸。很多可视化组件会设置自身大小拉伸随着屏幕尺寸变化而变化、以相对距离确定自己在界面中的位置(相对容器或者另外一个组件对象),这时你就需要知道如何使用这些计量单位进行设置了。Android中比较常用的计量单位是px、sp、dp这三种,下面我们就来看下这三种计量单位的区别。
1、 PX是Pixel的缩写,也就是我们常说像素。它是指基本原色素及其灰度的基本编码。在Android中如果我们设置每一个控件的长度为80px,那么无论这个控件时在什么分辨率的设备中显示它的长度均为80px。所以我们一般叫PX为绝对像素或者物理像素。

2、DP我们一般叫她为设备独立像素,用它来作为计量单位的好处是:在不同的android物理设备上,每英寸的像素点数量是不同的,如果你采用绝对像素去设置组件对象的位置和大小,当在小屏幕设备中比较合理的控件大小,放置在大屏幕的设备中就会显得比较小了。如果使用dp为单位,应用程序框架就会自动为不同的设备补偿大小和密度。使设置控制的位置或大小根据设备的不同而发生相应的变化。即会随着屏幕大小自动进行缩放。下面我们通过一个示例来说明一下DP功能:

DP在布局文件中设置大小和尺寸,大小和尺寸可以在布局文件中进行硬编码。以下为一个TextView控件的代码

<TextView android:layout_width=“wrap_content” android:layout_height=“wrap_content”<!--设置组件距离容器顶部距离--> android:layout_marginTop=“100dp” <!--设置组件距离容器左侧距离--> android:layout_marginLeft=“100dp” android:text="Hello World!" />

上面这个TextView组件,如果运行在160dpi的屏幕上,那么该组件位置距离屏幕左侧和顶部恰好是100px,如果运行在320dpi的屏幕上,该组件距离屏幕顶部、左侧200px。
3、SP是Scale-independent Pixel的缩写,我们一般叫做抽象像素。sp和dp很类似也有缩放功能,只不过是用于字体显示。他们的区别是Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。

<TextView    android:layout_width="wrap_content"    android:layout_height="wrap_content"    android:textSize="24sp"    android:text="Hello World!" />

以上为一个TextView控件的代码,其中textSize属性是设置textView控件显示文字大小的。在设置文字显示时我们一般推荐一sp作为计量单位。
以上内容就是我们在Android中常用的计量单位的作用和区别了。

0 0
原创粉丝点击