我正在为Android开发游戏,我现在正在菜单屏幕上工作。 我将使用自己的drawables作为按钮,我只是想知道是否(以及如何)从资源的不同区域中提取单个drawables。
要说,我有按钮覆盖,红色按钮下层和灰色下层,所有这些都在同一资源上,并且想知道我是否需要将它们分成三个不同的资源并使用它们,或者我可以从资源的不同区域拉出来吗?
答案 0 :(得分:1)
听起来你想要使用一种称为CSS Tiling的技术。 Android没有内置支持CSS功能,可以指定图像资源的边界并指定重复的X / Y方向。
然而,在Android和Java之间,程序员可以对现有的Bitmap或者他们即时创建的Bitmap做任何他们想做的事情。在Android中,可以“钳制”图像,因此只渲染图像的某个区域。我在Center a bitmap and repeat the edge pixel的答案中找到了一个示例链接。链接文章中使用的技术类似于您要做的事情。
虽然它是可行的,但它在Android中并不像CSS那样实用。例如,如果您使用上述技术,稍后需要更改资源图像中的某些内容:您还必须管理使资源在您的应用中正常工作的代码。替代方案是必须手动“剪切”图像(是的,正如您所建议的那样,进入多个资源),这最终可能会更好。例如,如果您需要将该资源设置为9-PNG或对其执行其他更改:您的工作仅限于Photoshop,并且不需要任何Java编写,代码编译,因此可能需要较少的回归测试