Android 多屏幕适配

来源:互联网 发布:淘宝卖电脑的哪家店好 编辑:程序博客网 时间:2024/06/11 16:34

Android手机的hdpi的手机用户市场占有是最多的,xhdpi手机的用户相对来说最注重产品体验而且用户越来越多, 如果每个分辨率做一套图片的话会导致程序的安装包大小过大, 所以图片资源适配的话主要是以hdpixhdpi这两个分辨率为中心进行图片资源的适配,经过反编译多家app产品的结构包括谷歌的产品(谷歌地图)多数是以hdpixhdpi为主提供一套图片资源或分别提供2套对应hdpixhdpi的图片资源(其中谷歌地图是用xhdpi一套图片,高德地图是2个分辨率2套图片,百度地图是以hdpi为主,xhdpi为辅),我们考虑图片清晰度和安装包大小采用以xhdpi为主进行图片资源进行适配。

图片资源在使用的时候要在布局文件中设置对应的宽高,xhdpi的图片根据px值在程序中写宽高设置为2X对应的dpidpi=xhdpi的图片的px/2), 使图片根据不同分辨率进行自适应。宽高的值写在values文件夹中的dimens.xml中,这样如果有小分辨率手机布局设计对应变化时,可以在对应的values文件夹中灵活的设置dimens值。

如果有在代码中设置宽高值的操作的时,可以调用程序中DisplayUtil工具类的dip2px()  px2dip()  px2sp()  sp2px() 进行对应尺寸的转换(代码中的默认的数值为px值 所以要转换为dpi或者sp值以进行资源的自适应)。

程序的文件夹结构为 drawable-xhdpi目录放置图片资源, drawable目录放置图片xml资源, color目录放置颜色xml资源。如果有的图片有必要对mdpi ldpi hdpi xhdpi等分辨率分别设置对应的多套图片的话,则在对应的目录放置对应的图片(如一些要求较为精致或者易变形的图片)。