您的位置:首页 > 移动开发 > Android开发

Android屏幕适配方案

2016-05-25 20:48 302 查看
最近到公司实习,项目为一款智能家电写android launcher,由于屏幕很大,一开始适配出了问题,于是认真学习后在此总结。希望对别人有帮助。

一:首先图片适配可以出多套dpi的图片,Android会自动匹配不同分辨率选着不同的图片。

二:(重点)距离适配,Android距离官方建议用dp,同学们也会碰到px这个单位;px代表像素,1px就是1像素点,其实dp的作用是帮我们适配不同dpi屏幕的。在dpi=160时,1dp=1px,dpi=320时1,1dp=2px,就是也这样的关系,不同dpi就按这种关系进行换算。

为什么用出现dp呢?

大家试想一下,如果现在有两个5寸的手机,一款屏幕采用了320dpi的屏幕,一款采用了160dpi的屏幕,如果我们在规定距离的时采用了px,那么由于320dpi的像素密度高,在屏幕大小一样的情况下,320dpi的1px就要比160dpi屏幕的1px距离要小,但我们想要的是在屏幕大小一样的情况下,边距应该一样,这样px的缺点就暴露了;但采用dp就不一样了,320dpi的屏幕,1dp=2px,这样dp的就体现出来了。

也就是说dp是为了保证在屏幕一样,dpi不同的手机上,显示的效果一样。

————————————————————————————

可能有同学想问,如果屏幕大小不一样怎么办。

这就引出来另一种领适配规则,在res/values/里创建多个dimens文字,用它来适配不同屏幕,假设我们在480*800的手机为基准,那么在320*480,那么320*480中的”1dp”我们用320/480*1dp,480/800*1dp来代替320*480屏幕下的1dp的长和宽,这样就能在不用分辨率中等比例显示了。

由于时间原因这篇文章就写到这了,可能有一些没说明白的地方我后期一定在提炼语言整理。

当然在适配方面还有一些不足的地方,等我有时间学习完,一定补全。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: