Android屏幕适配方案---基于官网文档结合个人理解

前言

今天无开发任务,闲着没事就看下书,看一章节觉得没爱了,接去官网逛了下,突觉还是官网写的比较人性化,翻译过来反而难懂了有木有。好吧,不要怀疑,本人英语是厉害了点,刚过四级,嘿嘿。其实还算勉强,在这里提供个大家看英文文档的小技巧。俗话说,擒贼先擒王,看文档先看目录,这句话一点也不假。就官网的技术文档来说,左边是大纲,

哦哦

除此之外,在正文的右上角还有本章小目录。所以,急着看正文长篇大论不如先看下这个小目录,只有几句话就可以总结出本章打开内容,其实,这样就很有帮助看下面的文档了。其次,在看正文的过程中,难免会遇到比较生疏的词句,没关系,继续往下看,看完了就懂了,就算只看懂7成或8成也够了,大可不必纠结于单个词句而去浪费很多时间去查字典,这个过程虽然短暂,有时候却会导致你忘记前面看懂得内容,所以本人并不推荐这样去看英文文档, 除非你想学习单词- -。好,进入正题。

为什么要适配?

在Android系统中,机型非常多,屏幕尺寸的种类随之越来越多,一开始Google设计的几套屏幕尺寸标准,貌似大部分手机厂商并不愿意去遵循。故此,Google自己也提供了拓展性非常强的适配方案。

需要适配的通常有layout,drawable 。 而如果编写多套layout来适配不同的机型显然大部分程序员都不愿意去做。 从而往往倾向于drawable的适配来适应layout。那么本文就重点讲图片适配的集中方案。

一、使用多套dimen

这种方案相信很多人都在用,将ImageView的 width,height按照UI美眉给的设计稿填写确切的值,然后在dimen里按照mhdpi hdpi xhdpi xxhdpi的比例来计算每一个值来调整图片的大小。举个例子     UI给的设计稿尺寸标志位720*1280  那么这是属于xhdpi的范畴,那么    根据屏幕像素密度比  mhdpi:hdpi:xhdpi:xxhdpi  = 1:1.5:2.0:2.5  。假设有一张设计稿上的图片大小为100*100      values-mhdpi、 values-hdpi、values-xhdpi、values-xxhdpi目录相对应对应下的dimen下设置为的值应该为 65*65  100*100   130*130  315*315 这样,在对应屏幕大小的手机上显示就正常了很多。虽然这种的精确度是非常高的。不过有没有人发现,单单一张图片就要做那么多工作了,一个应用程序员那么多图片,工作量也是不少了。 看项目来取舍吧,我还有第二种方案。

二、使用多个drawable资源

Google推荐的是这种, 将ImageView的width,height设置为wrap_content 或match_content  。然后 在不同的drawable文件下放入UI美眉给的不同大小的图片,简单粗暴。  

三、使用.9patch 自动适配

支持各种屏幕尺寸通常意味着您的图片资源还必须能适应各种尺寸。例如,无论要应用到什么形状的按钮上,按钮背景都必须能适应。

如果在可以更改尺寸的组件上使用了简单的图片,您很快就会发现显示效果多少有些不太理想,因为系统会在运行时平均地拉伸或收缩您的图片。解决方法为使用自动拉伸位图,这是一种格式特殊的 PNG 文件,其中会指明可以拉伸以及不可以拉伸的区域。

.9的制作,实际上就是在原图片上添加1px的边界,然后按照我们的需求,把对应的位置设置成黑色线,系统就会根据我们的实际需求进行拉伸。

四、使用限制符

个人认为,一些大公司或大项目才会采取这种方案。对于渣渣的我来说, 用不到,在这里先不做介绍了, 日后有需要再补充上来。有兴趣的同学飞:

《Google屏幕适配方案》


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值