7

Так что в моем проекте я использовал стандартный значок поиска материала в панели действий.Не удается разрешить символ abc_ic_search_api_mtrl_alpha

<menu 
xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:app="http://schemas.android.com/apk/res-auto" > 
<item 
    android:id="@+id/search" 
    android:title="@string/action_search" 
    android:icon="@drawable/abc_ic_search_api_mtrl_alpha" 
    app:showAsAction="collapseActionView|ifRoom" 
    app:actionViewClass="android.support.v7.widget.SearchView" /> </menu> 

Но если я обновлю libreries от 23.0.1 до 24.1.1 Android Studio говорит:

не удается разрешить символ abc_ic_search_api_mtrl_alpha

Почему? Я искал в google, но не нашел ответа.

ответ

25

Я нашел аналогичный вопрос на StackOverflow: error: cannot find symbol variable abc_ic_ab_back_mtrl_am_alpha

Ответ на тему выше:

Название ресурса было изменено в библиотеке поддержки 23.2.0.

Изменитьabc_ic_ab_back_mtrl_am_alphaвabc_ic_ab_back_material

Edit: В 23.2.1 имени компонента было изменено на abc_ic_ab_back_mtrl_am_alpha

Edit: В 24.0.0 было изменено название компоненты до: abc_ic_ab_back_material

Все, что вам нужно сделать, это cha Нге имя abc_ic_search_api_mtrl_alpha в abc_ic_ab_search_material

Он должен работать

Update

Для API версии 24.2.1 и более широкое использование ниже ключевого слова.

abc_ic_search_api_material

Он будет работать.

+6

abc_ic_ab_search_material не работает – mbonnin

+1

abc_ic_search_api_material должен работать (не менее 24.2.1) – Sharpe

+0

OH C'MON! Не перестанет ли Google переименовывать свои ресурсы ... –

1

Вы можете импортировать значки материалов «назад» и «искать» в виде векторных чертежей.

правая кнопка мыши res/drawable ->New ->vector asset

Вы можете настроить цвет вытяжки с помощью DrawableCompat.setTint(). Мало того, что это более гибко, но это также не приведет к перерыву в будущих обновлениях библиотек поддержки.

+0

Да, я начал использовать векторный ресурс, но я заметил, что все значки на Android 4.0 (ICS) черные. Даже если я изменил цвет на белый –

+0

'DrawableCompat.setTint (drawable.mutate(), Color.WHITE)' должен работать. Не так ли? – mbonnin

+0

Вы можете легко изменить цвет, изменив этот XML-файл в папке с возможностью переноса: Изменить на android: fillColor = "# FFFFFFFF". –

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