3

我有九个补丁图像(**.9.png)的问题。我有一个小部件布局,并想使用九个补丁图像作为小部件的背景。这是我的背景.xml

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/appwidget_bg" />
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/appwidget_bg" />
    <item android:state_focused="true" android:drawable="@drawable/appwidget_bg" />
    <item android:state_focused="false" android:drawable="@drawable/appwidget_bg" />
</selector>

drawbales 名称是“appwidget_bg.9.png”。这东西很好用。但我想对聚焦和按下状态使用不同的图像。

所以我让它看起来像这样:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/appwidget_bg_pressed" />
    <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/appwidget_bg_pressed" />
    <item android:state_focused="true" android:drawable="@drawable/appwidget_bg_pressed" />
    <item android:state_focused="false" android:drawable="@drawable/appwidget_bg" />
</selector>

问题:一旦我添加了额外的可绘制“appwidget_bg_pressed.9.png”,我就会收到以下错误消息:

.../res/drawable/widget_bg.xml:21:错误错误:找不到与给定名称匹配的资源(在“drawable”处,值为“@drawable/appwidget_bg”)。

.../AndroidManifest.xml:6: ERROR 错误:未找到与给定名称匹配的资源(在“icon”处,值为“@drawable/icon”)。

看来我只能在 drawables 文件夹中添加一个九补丁可绘制对象。这是为什么?

4

2 回答 2

1

你确定它们已经被导入你的drawables文件夹吗?该错误表示未找到文件。您当然可以拥有多个 9-patch 图像。似乎找到了 appwidget_bg_pressed.9.png,但没有看到 appwidget_bg.9.png 或 icon.png

于 2010-09-10T19:16:49.357 回答
0

这是一个老问题,但我遇到了同样的问题,我想通了并解决了我的问题。

问题在于 9-patch 可绘制对象;他们在一侧而不是两个上有补丁。因为我不希望我的drawable垂直拉伸,但似乎我不能通过一侧修补来做到这一点。

我希望它会帮助别人。

于 2015-08-20T14:54:55.987 回答