Android屏幕适配方案

最近到公司实习,项目为一款智能家电写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中的”1px我们用320/480*1px,480/800*1px来代替320*480屏幕下的1px的长和宽,这样就能在不用分辨率中等比例显示了,其实这也就是按百分比进行适配。
PS:华为好多手机又虚拟键,当虚拟键弹出时屏幕高度发生变化,只要加一套减去虚拟键高度的一套就好了,一般虚拟键高度为144px


由于时间原因这篇文章就写到这了,可能有一些没说明白的地方我后期一定在提炼语言整理。
当然在适配方面还有一些不足的地方,等我有时间学习完,一定补全。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值