在iOS上开发一年后,我是一名学习Android的设计人员/开发人员。
iOS相当于NinePatch / 9patch,称为resizableImageWithCapInsets。它允许开发人员采用常规PNG并以编程方式指定9patch信息 - 即围绕.9.png文件围绕Android的1像素边框的信息。
但有一个关键的区别。在Android上,9patch中间的位是缩放,而在iOS上它们是平铺。对于某些类型的图像,这无关紧要;但是对于任何具有纹理或图案缩放的东西都会破坏图像。
以编程方式指定区域还允许设计人员使用http://macrabbit.com/slicy等工具将复杂的主Photoshop文件拆分为单个图像资源;据我所知,Android 9补丁目前还没有相同的工具。 (SDK附带的draw9patch工具不起作用,因为每次从主Photoshop文件导出时都必须重复使用它。)
我猜测可以创建一个模仿iOS行为的Drawable子类:你传递一个普通的旧PNG和一组9patch维度,并且它适当地绘制自己,平铺中间部分。您甚至可以提供切换以在tile和stretch之间切换(我希望iOS能够这样做)。
作为一个新手,我需要一些时间来弄清楚如何做到这一点。类似的东西是否已作为开源组件或样本存在?
谢谢!