27

我是 Android 开发的新手。我只是按照基本教程developer.android.com来创建我的第一个应用程序。

在创建操作栏时,我必须向其中添加此搜索按钮。我创建了菜单 xml,这就是我在上面写的。

<!-- Search, should appear as action button -->
<item android:id="@+id/action_search"
      android:icon="@drawable/ic_action_search"
      android:title="@string/action_search"
      android:showAsAction="ifRoom" />
<!-- Settings, should always be in the overflow -->
<item android:id="@+id/action_settings"
      android:title="@string/action_settings"
      android:showAsAction="never" />

现在我的问题是关于 XML 的这一部分

android:icon="@drawable/ic_action_search"

我在 eclipse 中得到一个编译错误,它说,

错误:错误:未找到与给定名称匹配的资源(在“图标”处,值为“@drawable/ic_action_search”)。

我检查了 developer.android.com 并用谷歌搜索了它,但我无法找到解决方案。

我需要解决这个问题。与往常一样,我可以跳过 XML 的这一部分,我得到的只是纯文本“搜索”,但图标肯定会更好看。

4

8 回答 8

42

如果您使用的是 Eclipse,这是一种简单的方法:

  • Ctrl+ N(emacs keybindings) 打开文件向导
    • '文件 | 新 | Android Studio 中的图像资源
  • 选择安卓,“安卓图标集”
  • 编辑名称ic_action_xx,点击下一步
  • 剪贴画,选择你想要的图标
  • 选择主题(Holo Light 表示浅色背景,Holo Dark 表示深色背景)

Eclipse 将自动使用新图标填充 res/drawable-* 目录,并缩放到目录大小。无需下载任何内容、理解 PNG 或将图标复制到多个目录中。

我经常使用文件向导。

于 2013-09-15T17:10:42.783 回答
24

在 Android 工作室中:

右键单击 Drawable 文件夹 > 选择新建 > 图像资源

(或者,单击 shift、shift 并键入“图像资产”)

在弹出的对话框中单击“确定”

从向导中,您可以自定义所需的资产。选择它是通知图标、操作栏图标还是启动器图标。您可以从剪贴画中选择图标、从文本创建图标或从磁盘导入图像。该向导将负责为您的新图像创建不同的分辨率。

Android Studio 资产向导

于 2015-01-23T19:35:08.457 回答
19

例如,您需要一个名为ic_action_search.pngor的图像ic_action_search.gif。将此图像粘贴到每个res/drawable文件夹中。

于 2013-08-07T03:51:44.667 回答
7

正如其他人建议的那样,您需要将图标图形“ic_action_search.png”放在正确的文件夹中,即“/res/drawable” 您可能需要为一个或多个“drawable”移动图形文件" "/res" 的子文件夹

您可以在 ( http://developer.android.com/design/downloads/index.html#action-bar-icon-pack )找到图标图形(以及您可能在未来需要的其他图形)

请注意:不要使用包中的“Core Icons/unstyled”。使用“All_Icons/holo_light”(最有可能)或“All_icons/holo_dark”。

于 2013-08-13T14:08:06.800 回答
5

ic_action_search该错误意味着您的drawable文件夹中没有调用图像。

如果您愿意,可以从Android Asset Studio下载图片进行搜索。

于 2013-08-07T03:53:12.917 回答
2

我想您复制粘贴了一些示例代码,因为其他答案说您错过了将可绘制对象放入资源中。对于测试,您可以使用默认的 android 搜索图标:

android:icon="@android:drawable/ic_menu_search"

我不确定在发布应用程序中使用它是否安全

于 2013-10-25T12:26:15.970 回答
1

首先认为英语不是我的主要语言,我为我的打字道歉。好的,让我们来解决问题。所有这些对我有用,我希望它对你有用。我和你一样遵循 developer.android.com 的相同说明,它没有说你必须把它放在两个 .xml 中,或者我没有看到。

因为东西太多而且让人不知所措,我一开始就知道,但我希望很快能习惯。在文件夹: res/menu 下,您有两个.xml 存档,一个用于主页,另一个用于活动。您需要做的是复制您写入两个 .xml 存档的内容:

显示消息.xml

主要的.xml

请记住,操作栏会随活动一起进行,与您一样多。这意味着如果您添加另一个活动,则必须将其粘贴到新活动中才能使该错误无效。顺便说一句,您已经将图像放入各自的文件夹中。如果没有,它将再次弹出错误。我希望这是可以理解和有意义的。

于 2013-12-08T11:09:31.170 回答
0

在 Android Studio 中将新图标添加到项目中的另一种方法(与 相同dturvene's in Eclipse

1. Choose drawable directory; Alt + Insert or File/New...
 2. Choose "Image Asset"
 3. Select drawable\hdpi as your icon's destination
 4. An option window will pop up. Select directory to your icon saved in your PC.

我刚刚找到了方法,所以我希望它有所帮助。

于 2015-01-23T05:43:58.320 回答