发布网友
共4个回答
热心网友
目前最新的SDK是推荐dp这个单位,其实在真正开发过程中,无论是dp还是dip都不怎么会影响到显示效果;第二个问题,你可以在类里面获取屏幕的宽度,然后设置这个值就可以了,不知道是否有帮助。
热心网友
第一个问题我也凌乱了。..第二个我试了一下比如一块16:9的4寸的屏幕分辨率是480*800的那么他密度是1.5。那么设置320dp就横向满屏了,480/1.5 ,同样5.5寸720*1280的密度就是2,720/2=360dp就横向满屏了。。虽然时间很久了但是希望跟我一样纠结这些问题的人一点帮助 求顶起
热心网友
其实是一样的 就像 fill parent跟 match parent的关系
热心网友
摘了一下不知道对大家有没有帮助
https://blog.csdn.net/zhongwn/article/details/48781911
px 分辨率 是指屏幕上有横竖各有多少个像素
dpi 屏幕密度,每英寸像素数
一般普通屏幕:
ldpi 120dpi
mdpi 160
hdpi 240
xhdpi 320
dip(Density-independent pixel) 密度无关的像素
当你定义应用的布局的UI时应该使用dp单位,确保UI在不同的屏幕上正确显示。
dip是一种虚拟的像素单位,也称为dp
dip和具体像素值得对应公式是dip/pixel = dpi/160,也就是px = dp*(dpi/160)
android规定160dpi手机1dp=1px
如:
xml中layout_width=200dp
720dpi手机 720/160*200=900 900/720=1.25
320dpi手机 320/160*200=400 400/320=1.25
保持比例一致
sp 字体单位也是与像素无关的
使用dp最为字体单位,则在不同手机上字体大小是固定的,不会改变
DisplayMetrics
mDisplayMetrics = getResources().getDisplayMetrics();