Android-屏幕适配攻略

来源:互联网 发布:linux shell range 编辑:程序博客网 时间:2024/06/04 19:08
屏幕适配,是一个常见的问题,平常看的比较多,先写这个了,过段时间在写写替他的一些适配问题了

Android开发指导的网站,有详细的资料可以研究下.
http://www.apkbus.com/design/index.html

一:基本单位
屏幕尺寸:对角线一英寸=2.54cm
分辨率:横纵上面像素点数
屏幕像素密度:每英寸像素点数 dot per inch,和屏幕尺寸像素点数
px:Android自带api返回的数组都是px(例如宽高)

dp:解决px在不同屏幕效果不同的问题

sp:scale_independent pixels 根据文字大小首选项进行缩放
谷歌推荐12sp以上单位 12 14 18 22 推荐的字体首选大小不要用奇数或者小数


不同像素密度区分:为了适配方便
//像素和dp的关系,因为 mdpi 1倍屏  xhdp 2倍屏  xxhdp 3倍屏直接存在关系,所以如果设置1dp 在mdpi 就是1px 在xhdp 就是2px ,在xxhdp 就是 3px ,可以用这个公式计算出在不同分辨率下dp展示的px多少,
相同尺寸小,分辨率越大越清晰.

ldpi的屏幕需要费神,android自动将hdpi尺寸的图片缩小到1/2匹配

二解决方案:----支持各种屏幕尺寸
wrap_content
match_parent
weight  计算出来的宽度=原来宽度+剩余空间所占百分比宽度(正常用法宽度是0dp这样计算最清楚)
使用相对布局:
屏幕方向限定符
9.png图片制作,左边和上边是设置9.png的课扩展范围,右边和下边是设置图片的padding距离,
上面左面的变黑色说当前的像素点可以拉伸
下面右面的变黑,黑色线距离两边的距离是padding的距离
拉伸的时候,像素点的比例大拉伸的大
http://www.imooc.com/video/9364
http://www.imooc.com/video/9365
//这个网站详细讲解了9.png的用法和相关知识



三解决方案:----支持各种屏幕密度
1.使用非密度制约像素
使用dp可以除去不同像素密度的问题,(一个dp在所有密度上显示相同)但是不能解决尺寸问题,尺寸太多
最新版本新增mipmap专门放置图标的

低分辨率的图,在高分辨率上面比较模糊

不要用一套切图适配全部屏幕,这样会很占用内存的,这样虽然系统会自己压缩或者缩小,但是会占用内存,所以又条件最后给不同分辨率手机不同贴图.

四最佳实践
用高清设计图尺寸,用高清向下面转化不会失真
动态设置
0 0
原创粉丝点击