android屏幕适配

很多同学对android的适配方式都理解的并不到位所以导致很多时候出现例如图片大小在不同设备上差异很大,lisiview在不同屏幕上显示效果差异很大,有些屏幕比较和谐,有些并不是。今天我总结出几个常见问题,并做解答希望能对大家学习android提供帮助。

1.dp是什么?为什么要用dp

2.drawable-ldpi、drawable-mdpi、drawable-hdpi、drawable-xhdpi、drawable-xxdpi是什么?为什么同一张图片分别放在不同文件夹下如果用包裹内容的方式在设备上显示大小会不同。

3.layout-large、layout-xlarge、layout-xxlarge 、values-w820dp是什么?为什么我看到别人的代码里有这些东西。


1.首先要解决这些问题首先要了解px(pixel),dpi(dots per inch),dp/dip(device independent pixels ),是什么,以及他们之间的联系。

1.1 px想必大家都清楚,就是显示设备的一个像素点。

1.2 dpi(dots per inch)

如果直译的话就是每英寸长度有多少个像素点,也就是像素点的密度,通常自从iphone4乔布斯提出视网膜屏(326ppi)的概念后以后中国的手机厂商会经常提到ppi(pixels per inch)像素密度,我记得魅族mx4 pro的ppi值都超500了,也就是说一英寸(2.54CM)的长度就会需要500多个像素点来连接,所以我现在很惊叹现在的工业制造水平。(暂且说ppi和dpi的区别现在可以认为他们是一个意思)。

1.3 dp/dip(device independent pixels)设备非关联先像素(单位)

可以这样认为:这是一个和设备没有关系的长度单位,是一个虚拟的长度单位,android用他来避免和消除使用同样的长度在不同的设备上显示效果差异过大。其和px以及dpi的转换关系为dp = px/(dpi/160) 他是以160dpi为基准来将像素转换为dp值,可以说在160dpi的屏幕如果用px做单位和用dp做单位效果是相同的。

    下面为几张实例图便于理解dp/dip


    可以看到不同屏幕密度的屏幕下px和dp的显示效果是不同的。只有160(mdpi)下px和dp显示效果相同。160px在各个屏幕上长度只能为160px,但是160dp在三个不同

的屏幕上分别代表(利用公式px = dp*(dpi/160))160*(160/160) = 160px,160*(240/160)=240px,160*(320/160)=320px


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值