安卓开发中dp的概念

来源:互联网 发布:陀螺稳定原理 知乎 编辑:程序博客网 时间:2024/06/05 15:38
dp是于屏幕无关的像素点,不同分辨率的手机的每个像素点尺寸是不一样的,但是dp是一样尺寸的,简单的解释如下:
假设谷歌定义了一个标准手机屏幕尺寸,长1cm,宽1cm,100x100像素。那么这个屏幕的像素点的尺寸为1/100cm。现在我有一个手机长宽也是1cm,但是像素是200x200的,那么我的手机的像素点尺寸为1/200cm,显然我的手机的像素点比谷歌标准屏幕要小,我手机上一根长10像素点的线的实际长度是谷歌标准屏幕上的10像素线的一半。现在定义谷歌标准屏幕的一个px即一个像素为1dp,那么在我的手机上的1个dp的尺寸必须是跟谷歌标准屏幕的尺寸一样,所以我的手机上1dp就是2个像素点。如果又有一个手机屏幕还是长宽1cm,像素是300x300,那么他的一个dp就是3个像素点了。
做了一个简单的实验,设计了一个长宽均为100dp的textview控件,背景色设置为纯红色,在两台不同分辨率的手机上运行,测量两个设计上显示的textview的实际尺寸是一样的,也就是说dp在不同设备上的尺寸是固定的。而如果使用px的话胡明显发现高分辨率的手机上控件大小变小。
1 0