背景
移动端上实现背景图片拉伸不变形效果,Android是通过对.9.png图片来画线设置拉伸区域和填充区域,经过编译打包之后才能正确显示,而iOS是通过系统APi设置直接对普通.png图片设置拉伸区域即可,不需要.9图片实现拉伸不变形效果。
在原生开发中,各端开发按系统支持的方式来开发本身问题不大,各自习惯各自的开发方式,现在原生跨端开发框架中,需要统一的方式来供业务使用,刚开始我们采用的是Android的开发方式——制作.9.png图片格式 来实现双端的效果,但效果不尽开发意,反馈的问题与挑战不少。
问题与挑战
制作.9图片对跨端开发不友好
尽管Android Studio提供了方便快捷的.9图片制作界面,但iOS/前端同学需要学习理解使用,存在一定的理解和使用门槛,被认为仅对Android开发同学使用方便,最后在需求实际开发中需要Andriod同学来制作图片,对跨端开发来言不够友好。
同时业务运营中需要动态更新图片时,该图片的制作需要经过画黑线,然后编译打包解压Apk获取经过编译之后的.9图片,如果在调试中发现效果不对,还需要重新经历前面的步骤制作图片,这对快速调试开发并不友好
iOS端对.9图片渲染能力不足
要做好对.9.png图片渲染效果,需要理解其.9图片编码格式才能正确解析,然后这个在iOS端实现之初并没有能正确理解其原理,又经历人员更迭,对这块解析处理仅仅支持了.9图片的拉伸区域并设置成填充区域,导致填充区域不能