码迷,mamicode.com
首页 > 移动开发 > 详细

再次了解android中屏幕尺寸,单位等

时间:2017-11-15 23:35:18      阅读:239      评论:0      收藏:0      [点我收藏+]

标签:images   down   roi   单位换算   放大   支持   调整   简单的   ima   

android设备多种多样,要让你的app能够适配所有的屏幕是一件很痛苦的事情,在做适配之前我们首先需要了解android中dimension的定义

android中dimension是如何定义的?

android中支持的dimension单位有px,in,mm,pt,dp,sp,常用到有px,dp,sp

1. px

Pixels: 对应于屏幕上的实际像素。但是并不建议使用这个单位,因为每个设备的每英寸对应的像素数量都有可能不同,并且每个设备屏幕上可用的总像素也是不同的。

2. dp

Density-independent Pixels : dp是一种基于屏幕物理密度的单位,这个单位是基于160dpi(每英寸像素点数)的屏幕,即在160dpi的屏幕上1dp大约等于1px。在不同dpi上运行时,每1dp上绘制或者需要pixels是不一样的,在高于160dpi的屏幕上,等比放大,相反,在小于160dpi的屏幕上,等比缩小。用dp作为单位将会是一个最简单的方式来适配不同的屏幕密度。也就是说dp提供了会不同尺寸的UI元素统一的可能.

3. sp

Scale-independent Pixels : sp单位与dp一致,不同点的是,sp单位是支持scale的,当用户在设置中调整标准字体大小时,每一sp对应的px将会改变.

android中屏幕尺寸是如何定义的?

Screen Size

即实际物理的尺寸,按照大小区分为4类,按照width即短边为准
技术分享

xlarge screens are at least 960dp x 720dp

large screens are at least 640dp x 480dp

normal screens are at least 470dp x 320dp

small screens are at least 426dp x 320dp

Screen density

即屏幕密度,定义每dp对应的px数量,已160dpi为标准,1dp = 1px
技术分享
ldpi (low) ~120dpi

mdpi (medium) ~160dpi

hdpi (high) ~240dpi

xhdpi (extra-high) ~320dpi

xxhdpi (extra-extra-high) ~480dpi

xxxhdpi (extra-extra-extra-high) ~640dpi

官网截图

技术分享

各种单位换算(https://www.pixplicity.com/dp-px-converter)

技术分享

px = (dpi / 160) * dp

假设用户不调整字体大小的情况下
mdpi 对应的是160dpi,1dp = 1px = 1sp
技术分享

再次了解android中屏幕尺寸,单位等

标签:images   down   roi   单位换算   放大   支持   调整   简单的   ima   

原文地址:http://www.cnblogs.com/Sir-Lin/p/7841233.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!