android dp

来源:互联网 发布:西方教父教母地位知乎 编辑:程序博客网 时间:2024/06/06 17:38

其实根本没有dp这个单位

dp这个单位,既不是长度,也不是像素,只是为了方便操纵px

实际像素点px才是最终的操作途径,dp则是为了按照屏幕像素的密度,保持长度不变,才创造出了dp这个单位,根据dp这个值,像素密度越大,产生的px越大

实际上可以用px和px密度得到实际长度,但是,如此就需要换算,不如构造一个中间值dp,用起来就十分方便

android得到dp后,最终还是根据dp和密度,换算出实际的px

换算关系

dp*(像素密度/标准值)=px

1dp=1英寸/160

dp只是保持长度的方法,但是并不能意味着完全做到屏幕适配,比如,两个机器的屏幕大小不一,那么,就会出现问题,固定长度显然不能够不同尺度

那么,这时候,跟布局就要使用match_parent

可以少部分使用dp

可以用权重,这其实是最有效的,因为需要的其实不是具体的大小,而是布局间的比例关系


还有一种更为普遍的方式

因为屏幕大小不同,对dp对应的px值进行篡改。根据操纵实际像素点,对应的实际长度也会改变

0 0