2013-08-07 5 views
27

Я новичок в разработке Android. Я просто следил за основным туризатором на developer.android.com, чтобы создать мое первое приложение.Разработка Android: невозможно создать значок @ drawable/ic_action_search

Поскольку я создавал Action BAr, мне пришлось добавить к нему эту кнопку поиска. Я создал меню 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" 

я получаю ошибку компиляции в затмение, в котором говорится,

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

Я проверил на developer.android.com а также googled, но я просто не могу найти решение.

Мне нужно решить эту проблему. Как всегда, я могу пропустить эту часть XML, а то, что я получаю, - это просто текст «ПОИСК», но значок, безусловно, будет выглядеть лучше.

+0

Где вы разместили свой ic_action_search? –

ответ

19

Вам нужно изображение под названием ic_action_search.png или ic_action_search.gif, например. Вставьте это изображение в каждую папку res/drawable.

+1

Кроме того, формат файлов GIF не рекомендуется в Android. (Поддержка GIF поддерживается только частично.) PNG и JPG лучше подходят для Android. 'PNG (предпочтительный), JPG (приемлемый) и GIF (обескуражен).' Http://developer.android.com/guide/topics/graphics/2d-graphics.html Android также может читать BMP и WEBP файл в соответствии с версией. – Naetmul

+1

Ваш ответ помог. Огромное спасибо. :) – pencilshree

5

Ошибка означает, что у вас нет изображения с именем ic_action_search в папке drawable.

Вы можете загрузить изображение для поиска из Android Asset Studio, если хотите.

7

Как сообщалось другим пользователям, в правильной папке необходимо указать значок «ic_action_search.png», который является «/ res/drawable». Возможно, вам придется переместить графический файл для одного или нескольких из «рисуемых» подпапки «/ Рез»

вы можете найти значок графики (и другие, которые вы, по-видимому, необходимо в будущем) на, (http://developer.android.com/design/downloads/index.html#action-bar-icon-pack)

Пожалуйста, обратите внимание: не используйте «Core Icons/unstyled» в пакете. Используйте «All_Icons/holo_light» (скорее всего) или «All_icons/holo_dark».

42

Вот простой способ, если вы используете Eclipse:

  • Ctrl + N (Emacs комбинации клавиш), чтобы открыть мастер создания файла
    • «File | Новые | Asset Image»в Android Studio
  • Выберите Android, "Android Icon Set"
  • Изменить имя ic_action_xx, нажмите кнопку Далее
  • клипам, выберите значок, который вы хотите
  • Выберите тему (Holo Light означает свет фон, Голо Темный означает темный фон)

Eclipse автоматически заполняет каталоги res/drawable- * с новым значком, масштабированным до размера каталога. Не нужно ничего загружать, понимать PNG или копировать значок в несколько каталогов.

Я использую мастер файлов LOT.

+0

Как подойти к этому в студии Android? – iMom0

+0

Да, я переключился на Android-студию и очень люблю ее. Но я не могу вспомнить, как создать новый файл - я работал над ядром.Я уверен, что он находится в одном из окон инструментов. – dturvene

+1

Это ответ, если вы используете Eclipse. –

2

Я предполагаю, что вы скопировали примерный код, так как в других ответах говорится, что вы пропустили перенос в свои ресурсы. Для тестирования можно использовать по умолчанию андроид значок поиска:

Android: значок = «@ Android: рисуем/ic_menu_search»

Я не уверен, если это безопасно использовать его в выпуске и приложения

1

сначала думают Английский не мой основной язык, я извиняюсь за ввод текста. Хорошо, давайте перейдем к проблеме. Все это работает для меня, я надеюсь, что это сработает для вас. Я выполнял те же инструкции от developer.android.com, что и вы, и он не сказал, что у вас есть , чтобы поместить его в оба .xml, или я не видел.

Потому что это слишком много материала и потрясающе, я знаю сначала, но я надеюсь скоро привыкнуть к нему. В папке: res/menu у вас есть архив two.xml один для главной страницы, а другой для активности. Что вы должны сделать, это скопировать, что вы написали как .xml архив:

Display_message.xml

main.xml

помню бар действие идет по пути с деятельностью, так как многие, как у тебя есть. Это означает, что если вы добавите другое действие, вы должны вставить его в новый, чтобы аннулировать эту ошибку. Кстати, у вас уже есть изображения внутри его соответствующей папки. если нет, он снова появится ошибка. Надеюсь, это было понятно и с чувством.

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. 

Я только что нашел способ сделать это, так что я надеюсь, что это поможет.

22

В Android студии:

Щелкните правую кнопку мыши рисует папку> Выберите New> Asset Image

(В качестве альтернативы, нажмите сдвиг, сдвиг и типа «Актив Image")

В диалоговом окне, которое хлопнутое up нажмите «ОК»

С помощью мастера вы можете настроить необходимый вам ресурс. Выберите, если это значок уведомления, значок панели действий или значок запуска. Вы можете выбрать значки из клипа, создать значок из tex t или импортировать изображение с диска. Мастер позаботится о создании различных разрешений для вашего нового изображения.

Android Studio Asset Wizard

Смежные вопросы