我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:彩63彩票注册 > 多分辨率 >

关于Android引导画面的多分辨率适配

归档日期:04-24       文本归类:多分辨率      文章编辑:爱尚语录

  本文并非关于引导画面该采用何种形式、该如何定义信息、有什么注意事项方面的介绍。

  本文描述的是,引导画面该如何才能较好的适配各种分辨率,了解此处有助于更好的定义引导画面,以及保持同设计师、工程师的良好沟通。

  这些所了解的知识,可能会有一些错误,当发现问题时,随时更新自己的知识体系。

  需要知道的是,同一DPI的设备也有不同的分辨率,比如Hdpi最常见的就有480×800和480×854的分辨率,还有其他的,比如480×640、600×1024.

  我尝试用图来说明一下一张图片,如果不做处理在不同机器和不同分辨率上的显示样式:

  以Galaxy Nexus为例,屏幕分辨率为720×1280,状态栏为50px,下方虚拟键盘栏为96px,所以实际中间图片大小为720×1134

  让我们模拟下此720×1134的引导图在720×1280分辨率的设备上的显示样式如下图:

  当我们在一台480×800分辨率的设备上显示时,图片会缩小为480px的宽度显示,此时高度对应会等比缩小为756px显示,假设此时状态栏标准高度为38px,则会空余16px的空间。如果我们设置背景颜色为红色,则此时显示状态如下图:

  同理,当我们在一台320×480分辨率的设备上显示时,假设此时状态栏标准高度为25px,等比缩放后,图片会缩小为455px(480-25)的高度显示,此时宽度对应会等比缩小为289px显示,则会空余31px的空间。如果我们设置背景颜色为红色,则此时显示状态如下图:

  从上述的例子来看,大图自动缩放后,最大的问题是上下、或左右会留出一些无法填充的位置。

  所以,在边缘为纯色的情况下,我们只需要将背景填充为和边缘颜色一样的色值即可。

  而且,我们只需要准备较大分辨率的一套,这样可以更好的保证在不同解析度设备上的效果。

  下图是在240×320的ldpi设备上的显示效果,如果仔细看,可以看到左右两侧竖向的颜色和中间部分的颜色有一些不一致。

  原因还不确定,暂时未有明确结论,猜测可能和android的图像缩小显示机制有关系。

   图片的周边保证是纯色的,这样才能有效的进行不同分辨率的适配。

   指定了720×1280的机器为标准参照设备,切出去除了虚拟键盘和状态栏的部分

   为保证缩放效果,采用xhdpi的图片素材来做9-Patch的原始图片

   在draw 9-patch中,设定图片顶部的左侧和右侧一个像素为拉伸区域,设定图片右侧的顶部和底部一个像素为拉伸区域。

   类似实现方式一的图像示例,只是适配中出现的红色部分,会因为设定了拉伸区域而自动用设定的拉伸区域去填充,从而达到适配效果

  目前发现当图片较大时,9-Patch的图片缩放会出现问题,未能按照预期缩放。

本文链接:http://art-olivier.com/duofenbianlv/56.html