9

我试图将我所有的按钮背景转换为 .9.png,但我遇到了 Eclipse 的问题。

我使用该工具创建了我的九个补丁 .png,但是由于我将它放在我的 /res/drawable 文件夹中,所以当我尝试访问以 @drawable 开头的任何资源时,我的所有 .xml 文件中都会出现以下错误:

Error: No resource found that matches the given name (at 'drawable' with value '@drawable/my_resource').

这是我的 .9.png: 九个补丁

这是一个屏幕截图: 截屏

我的 .9.png 有问题还是 Eclipse 有问题?

谢谢

4

5 回答 5

8

我不确定是什么导致了问题,但是在您的 NinePatch 中,您需要将框架的右侧和底部部分设为实线。右侧和底部定义您的内容区域(即 Android 将在 NinePatch 中放置内容的位置。它不能是不连续的区域。)顶部和左侧定义您的拉伸点。因为它是一个渐变,我会继续连接除了顶部之外的所有边上的点。顶部,您可以只使用单个黑色像素来实现相同的结果。

于 2010-12-03T16:18:25.993 回答
1
  1. 假设您的图像名称是 image.9.png
  2. 使用重构重命名文件:image9.png(我从 9 中删除了点)
  3. 然后再次使用重构将其重命名为原始名称:image.9.png

我假设配置文件没有正确更新,因此使用重构会强制更新用于配置的任何文件。

于 2011-06-27T13:12:01.183 回答
0

您是否在代码中的任何位置引用“my_resource”(.9.png)?因为您的按钮名为“button_blue”,但错误日志中的图像是“my_resource”。在项目中搜索包含“my_resource”的任何类或 xml。如果没有,请尝试在 Eclipse 中清理项目(菜单/项目/清理...)和/或重新启动 Eclipse。

于 2010-12-03T16:18:50.837 回答
0

为了完美工作,请尝试在修改后关闭并打开 9patch。

最好为每个修改图像关闭 9patch,并为您想要使用 9patch 处理的新图像重新打开 9patch。

于 2013-02-19T18:08:56.203 回答
0

我有同样的问题。同样的错误。适用于所有可绘制对象,包括 Ninepatch。

http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch中的说明说我必须将文件放入drawable,而不是drawable-hdpi。或者我有它的mdpi。所以,我创建了简单的“drawable”文件夹。并将所有东西移到那里。它也行不通。但是,当此后我全部搬回来时,它工作正常。恐怕这都是魔法。清洁和建筑不是原因——我在每次改变后都做了。

于 2011-05-20T08:02:03.530 回答