android 分辨率 720 1184 适配,Android培训之屏幕适配(1)

屏幕适配:

1.为什么要进行屏幕适配?

因为android手机碎片化和版本的不一致,所以android应用开发就需要做屏幕适配。

2.对于那些屏幕分辨率进行适配?

需要做适配的手机的分辨率分别:1280*720  1920*1080  800*480  854*480  960*540   1184*720

3.什么是屏幕尺寸,屏幕分辨率,屏幕像素密度

屏幕尺寸:指屏幕对角线的长度,单位是英寸  1英寸=2.54厘米。

屏幕分辨率:指的是手机横纵方向上的像素点数。分辨率越高,显示效果越好。单位是px   1px==1像素点

屏幕像素密度:指每英寸上的屏幕像素点数,单位是dpi   是dot  per  inch  的缩写。

和屏幕尺寸和屏幕分辨率相关,每英寸的像素点越多,密度就越大,显示效果就越好。

计算屏幕像素密度的方式:

以Smartisan T2为例:

屏幕尺寸:4.95英寸     分辨率:1920*1080

屏幕像素密度=1920*1920+1080*1080开平方/4.95 = 445dpi

4.什么是dp,dip,dpi,sp,px?它们之间有什么关系?

px :构成图像的最小单位,

dp和dip:概念是完全相同的,密度无关像素 ,以160dpi为基准,1dip = 1px。

如果按照dp作为单位,在不同的分辨率下,dp和px换算的标准是不一样的。

在高分辨率的手机上,使用dp作为单位,就能够保证实现相同的效果。

sp : 根据文字大小进行放缩,一般使用sp作为衡量文字的单位。

google官方建议文字大小不要小于12sp,文字大小的数量不要用奇数,要使用偶数,也不要小数,

使用奇数和小数会在放缩时造成精度的缺失。

5.什么是mdpi,ldpi,hdpi,xhdpi,xxhdpi?如何计算和区分的?

对于不同手机的像素密度进行区分的,在不同的像素密度上,同一张图片的显示效果其实是不一样的,

但是我们要不同的屏幕密度上显示出相同的效果,那么就要对res文件夹当中的子文件夹进行区分,

可以通过在文件夹后面添加限定符,就可以实现在不同分辨率下的相同效果。

名称                   取值范围

mdpi                120dpi~160dpi      48*48

hdpi                160dpi~240dpi      72*72

xhdpi               240dpi~320dpi      96*96

xxhdpi              320dpi~480dpi      144*144

xxxhdpi             480dpi~640dpi

6.解决屏幕适配的问题

1.怎么能让应用支持各种屏幕?

a)使用wrap_content,match_parent,weight属性值去定义控件的宽和高。

weight  权重

计算出的宽度=原来的宽度+剩余空间所占百分比的宽度

以button为例:

假设屏幕宽度为L,然后横向放置两个button,要求比例是1:2.

button1----》width--match_parent: L+(L-2L)/3 = L-1/3L = 2/3L;

0dp   :0+(l-0)/3 = 1/3L;

button2----> width--match_parent:L+(L-2L)*2/3=L-2/3L=1/3L;

0dp   :0+(l-0)*2/3 =2/3L;

b)使用相对布局等,禁用绝对布局。

绝对布局适配性很差,以左上点为左边原点,要具体给定放置控件的值才能绘制绘制。

想要为不同的屏幕尺寸设定不同的高度,就要使用相对布局或者线性布局。

c)使用限定符

布局限定符:

layout           普通的单面版的屏幕

layout-large     屏幕尺寸大于7英寸,同时系统版本在3.2之下

layout-sw600dp   屏幕像素密度在600dpi之上,系统版本在3.2之上的。

使用限定符,使平板和手机实现适配。

d)使用布局别名

可以在layout文件夹中定义不同的布局,然后在values的文件夹当中定义layout.xml文件,

然后引用layout文件夹当中的布局,并且给他们统一的名字,然后针对不同的屏幕尺寸就具备

不同的布局引用了。

e)使用屏幕方向限定符

布局设置限定符

layout-land    横屏

layout(layout-port) 竖屏

layout-sw600dp-land

layout-sw600dp-port

f) 使用自动拉伸的位图

自动拉伸的位图----》点9图片

左边和上边是负责拉伸区域,可以指定需要拉伸的部分。

右边和下边是负责间隔区域,可以指定放置内容的位置。

本文版权归传智播客Android培训学院所有,欢迎转载,转载请注明作者出处。谢谢!

作者:传智播客Android培训学院

首发:

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值