1、Andriod分辨率适配 ”葵花宝典“ 1. 射鸡师 VS 攻城师 在日常的Andriod开发中经常会遇到各种各样的PK,其中设计师和工程师的矛盾非常突出,我们来看一下双方的主要矛盾。 主要原因是由于设计师和工程师都只专注于自己的领域,对彼此的领域了解较少。 2. 几个基本的概念 1.分辨率:屏幕上显示的像素个数,单位尺寸内像素点越多,显示的图像就越清楚。 市场上主流分辨率有:480*800、 720*1280、 1080*1920(其他的早该淘汰了,忽略不计)。 2.屏幕密度:表示屏幕每英寸有多少个像素。 240dpi(480*800) 、320dp
2、i(720*1280)、480dpi(1080*1920) 3.单位: px:像素(设计师都知道像素是什么)。 dp:andriod开发中用于描述模块间距等,(可以很好的自适应) 240dpi下,1dp=1.5px 320dpi下,1dp=2px 480dpi下,1dp=3px sp:和dp一样,只是用于描述字体大小的单位。 240dpi下,1sp=1.5px 320dpi下,1sp=2px 480dpi下,1sp=3px 3. 到底采用哪种分辨率来
3、设计,到底需要提供多少套标注和切图。 1.只需要提供一套标注即可。 原则上需要为不同分辨单独进行标注,但由于开发成本等各种考虑。 选取320dpi下(分辨率为:720*1280)进行设计,此分辨率下1dp=2px。 另外视觉可以直接从高分辨率进行设计、标注、切图,这样可以方便适配低分辨率。 2.只需要提供一套切图即可。 原则上设计师需要为不同分辨率单独标注切图,同样根据开发成本等要求。 1.一般采用720*1280的来设计。切图可以直接适配120*1280分辨率的机型。 2.720*1280下的切图资源基本可以适配其他机型,有些特殊的切图需要单独适配的
4、比如icon等。 3.适配480*800的机型,只需要把切图/1.5即可。 4.适配1080*1920机型,只需要把切图*1.5即可。 3.使用相对单位进行标注。 设计师要建立相对单位概念,可以直接使用dp标注尺寸、sp标注文字大小; Andriod官网中就采用相对单位进行标注的。 4.采用自适应布局。 由于Andriod设备尺寸较多,设计师设计时要考虑好固定和自适应部分。 5.标注尽量采用相对关系。 Andriod设备尺寸很多,不可能采用绝对定位方式来标注,因为绝对定位无法实现界面元素自适应,标注时说明和兄弟元素、父子元素之间的关系即可。 4. 文
5、字。 中文字体:默认为Droid Sans Fallback,设计时可采用微软雅黑。 英文字体:Andriod4.x及以上采用Roboto,Andrio2.x和andriod3.x采用 Droid Sans。 建议尽量采用系统默认字体。 Andriod规范建议,字号采用12sp、14sp、18sp、22sp等四个级别来设计。(实际设计时可以按实际情况调整,我经常这么干,嘿嘿) 5. 总结。 1.采用720*1280分辨率来进行设计。(设计时,采用偶数值进行设计,方便dp和px的转换) 2.开始标注了,标注尽量采用相对位置进行标注。 3.切图了,首先在720*1280下进行切
6、图,可以完全适配720*1280的机型。切图资源 4.分别适配480*800 、1080*1920(上面已经描述过了哦) 5.不要忘记了,开发完后要进行bug测试哦(视觉方面的) 6.终于上线了,有自豪感了吧。 写的不足之处,还请见谅,希望各位大神来多多吐槽啊!!!!! 其它网友总结与分享: vincent_lau : 有个算是明显的认知错误,dpi和分辨率并不划等号。240dpi并不代表480x800这个分辨率。dpi是屏幕密度,同样的屏幕密度可以得到无数种分 辨率,只需要改变屏幕尺寸就可以了。如果不好理解,拿刚出的iPhone6来讲,因为他的屏幕密度没变,虽然分辨率
7、变成了750x1334,但是他和 iPhone5s用的是同一套资源切图。 按照你提到的/1.5。320dpi除1.5并不会得到240dpi(他们其实是0.75倍的关 系)。用这种方式得到的切图是不符合Android规范的。比如在320dpi下图标尺寸规范是64x64。而在240dpi下图标尺寸规范是 48x48。他们换算关系0.75倍。 320dpi我们用720x1280这个分辨率来设计,如果想在240dpi上得到符合规范的切 图,就需要将(720x1280)x0.75。是的你会发现得到的是540x960。不是比较常见的480x800。但就像上面提到的,谁说240dpi 就是480
8、x800这个分辨率,他们只是在相同屏幕密度下共用一套资源切图而已。 大家应该都用ps 插件cut and slice me 来切图吧,其实你细心发现,他也是用的这套逻辑。1(mdpi):1.5(hdpi):2(xhdpi):3(xxhdpi)。 我要讲的是,在320dpi下设计,想得到240dpi的切图。不能从720硬缩到480啊。 松猫 : 最近做Android适配要疯了。还是总结出了几点。 做设计的时候,如果并不打算IOS和Android的设计完全不一样,那么按照IOS,640*1136的分辨率做设计。 做安卓适配可以直接调整图像大小到宽度720,高度默认1
9、278与安卓标准的320dpi:720*1280差别并不大。标注时的DP转换也很方便,PX/2=DP。 同时也做了两个版本的适配。 切图的时候使用插件进行输出,调整图像大小到宽度为320,高度不用管,然后用插件直接可以等比输出mdpi,hdpi,xhdpi,xxhdpi,xxxhdpi。开发人员再也不会说你只给一个图无法做多分辨率适配啦。 以上新手卓见,如果有大神有更好的意见求分享。。 vivameteor : 2.屏幕密度:表示屏幕每英寸有多少个像素。 240dpi(480*800) 、320dpi(720*1280)、480dpi(1080*1920) 此处有些问题。 屏幕密度(DPI)表示屏幕每英寸有多少像素,也就是说是由屏幕大小(英寸)与像素两者决定的。 那么,在不知道屏幕多大的情况下,怎么能够得出DPI呢? 480*800的屏幕DPI并不一定是240DPI,720*1280的屏幕不一定是320DPI,1080*1920的屏幕也不一定是480DPI。
©2010-2025 宁波自信网络信息技术有限公司 版权所有
客服电话:4009-655-100 投诉/维权电话:18658249818