SearchManager отображает другой значок вместо лупы - PullRequest
1 голос
/ 01 февраля 2010

Как мне поменять иконку справа от менеджера поиска? Значок по умолчанию - magnifier, но я видел приложение, которое отображает вместо лупы «ОК»!

Для моих нужд значок лупы не очень хорош. Я использую SearchManager для отображения истории набранных слов. Таким образом, лучше иконка в порядке вместо значка поиска.

Ответы [ 2 ]

2 голосов
/ 12 июля 2011

Поздно на вечеринку, но я сделал это:

<?xml version="1.0" encoding="utf-8"?>
<searchable xmlns:android="http://schemas.android.com/apk/res/android"
  android:label="@string/app_name"
  android:hint="@string/search_hint"
  android:icon="@drawable/search_icon" 
  android:searchButtonText="@string/ok_string">
</searchable>

Используя атрибут searchButtonText, вы можете заменить значок по умолчанию своим собственным текстом. Документация здесь: http://developer.android.com/guide/topics/search/searchable-config.html

Что вы не найдете в документации, так это то, что вы ДОЛЖНЫ использовать строку, определенную в ваших строковых ресурсах, как показано выше.

Вы не можете делать, как это Android: searchButtonText = "OK"

0 голосов
/ 01 февраля 2010

Хотя в документах говорится, что это устарело и что используется значок по умолчанию, его все еще стоит попробовать. Попробуйте сделать следующее.

Соответствует тому, что было в вашем комментарии относительно meta-data, и предоставил свой собственный файл ресурсов XML для поиска.

searchable.xml

<searchable xmlns:android="http://schemas.android.com/apk/res/android"
   android:icon="@drawable/your_OK_image"
   android:label="@string/search_label"
   android:hint="@string/search_hint" >
</searchable>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...