关于android自适应布局的一点点心得

1  用dip为单位 可以保证在不同的手机上(主要是指不同的物理屏幕密度,和屏幕大小没关系)单位长度一致:如5设备无关像素在A手机上和在B手机上是一样长的(但是占用A手机和B手机的物理像素(px)可能是不一样的)

2  对于布局需要适应不同屏幕大小的手机的情况,要么是制作多套布局文件,要么是禁止采用任何有具体数值的绝对大小来布局控件(如全都采用weight来按比例布局,要么采用同一套布局文件在java代码里面根据屏幕动态调整控件的摆放位置。



此外,这里说下我对android的屏幕密度的理解(不一定正确,欢迎指正):

android设备众多,实际的物理屏幕密度(屏幕对角线的实际分辨率除以屏幕对角线的长度)可能会有许多许多,但是安卓系统只会把手机的屏幕密度分为逻辑上的四种:ldip,mdip,hdip和xhidp(2.2版本后才支持) ,具体设备属于哪一种应该是系统自己根据物理屏幕密度的近似值的出来的。 当用户用dp为单位进行布局的时候,系统会自动根据设备的物理屏幕密度和逻辑屏幕密度尽心换算,算出1dp占用的实际的像素点数(多少px), 这样,用dp为单位就能保证不同物理屏幕密度的手机单位长度相同。

猜你喜欢

转载自blog.csdn.net/w1857518575/article/details/18261275