屏幕适配详讲

 现今 社会上的手机花样各种各样,款式繁多,屏幕的尺寸更是多如牛毛,作为一个android开发人员,给自己的app做屏幕适配也是必须具有的。但是android手机屏幕尺寸不一,又该怎样去让自己的app去适应市场上更多的尺寸屏幕的手机呢? 

  首先做屏幕适配前 , 搞清楚android手机屏幕适配的概念:

    1.屏幕尺寸

屏幕的物理尺寸,以屏幕的对角线长度作为依据(比如2.8寸,3.5寸)。Android把所有的屏幕尺寸简化为三大类:大,正常,和小.

  2.屏幕长宽比

屏幕长宽比,屏幕的物理长度与物理宽度的比例。程序可以为制定长宽比的屏幕提供制定的素材,只需要用系统提供的资源分类符long和notlong。


3.分辨率

屏幕上拥有的像素的总数。注意,虽然大部分情况下分辨率都被表示为“宽度×长度”(如:240x320,480x800),但分辨率并不意味着屏幕长宽比。在Android系统中,程序一般并不直接处理分辨率


  4.密度

密度,DP 每英寸的像素点。一块实际区域有多少个像素点,一般用dip衡量.密度一般是固定的分为 Low(120dip),mid(160dip),hig(240dip),xhig(320dip)。以屏幕分辨率为基础,沿屏幕长宽方向排列的像素。密度较低的屏幕,在长和宽方向都只有比较少的像素,而高密度的屏幕通常则会有很多像素排列在同一区域。屏幕的密度是非常重要的,举个例子,长宽以像素为单位定义的界面元素(比如一个按钮),在低密度的屏幕上会显得很大,但在高密度的屏幕上则会显得很小。Android把屏幕密度分为了四个广义的大小:低(120dpi)、中(160dpi)、高(240dpi)和超高(320dpi) 像素= DP * ( DPI / 160 )


  5.密度无关的像素(DIP)
密度无关的像素(DIP):指一个抽象意义上的像素,程序用它来定义界面元素。它作为一个与实际密度无关的单位,帮助程序员构建一个布局方案(界面元素的宽度,高度,位置)。一个与密度无关的像素,在逻辑尺寸上,与一个位于像素密度为160DPI的屏幕上的像素是一致的,这也是Android平台所假定的默认显示设备。在运行的时候,平台会以目标屏幕的密度作为基准,“透明地”处理所有需要的DIP缩放操作。要把密度无关像素转换为屏幕像素,可以用这样一个简单的公式:

pixels = dips * (density /160)。

举个例子,在DPI为240的屏幕上,1个DIP等于1.5个物理像素。我们强烈推荐你用DIP来定义你程序的界面布局,因为这样可以保证你的UI在各种分辨率的屏幕上都可以正常显示。


以上就是适配所需要了解到的基本概念,现在来说一下 分辨率,物理尺寸,密度这三者的关系:

某边的分辨率(总像素) =   该边的物理尺寸 x 像素密度
      举例: 一个3.5寸的屏幕,分辨率为480x480 ,那么密度为开方(480^2+480^2)除以3.5,约等于194,屏幕大小和屏幕像素是可独立的,不是说一个5寸的屏幕一定是多少dpi。 


对角线的像素值 = 开方(长^2 + 宽^2)

物理尺寸  =  对角线的像素值/(密度x160) 

 像素和密度的转换:

DPI  : LOW(120dpi)  medium(160dpi)  high(240dpi)  extra-high(320dpi)

px(像素)  =   dp x  ( dpi / 160 )   

 

相关文章:精确适配不同的dpi和屏幕尺寸

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值