7

Tak więc w moim projekcie używałem standardowej ikony wyszukiwania materiałów na pasku akcji.Nie można rozwiązać symbolu 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> 

Ale jeśli mogę zaktualizować libreries od 23.0.1 do 24.1.1 Android Studio mówi:

Nie można rozwiązać symbol abc_ic_search_api_mtrl_alpha

Dlaczego tak jest? Szukałem w Google, ale nie znalazłem odpowiedzi.

Odpowiedz

25

Znalazłem to podobny problem na StackOverflow: error: cannot find symbol variable abc_ic_ab_back_mtrl_am_alpha

Odpowiedź do tematu powyżej jest:

Nazwa zasobu została zmieniona w bibliotece 23.2.0 wsparcia.

Zmienićabc_ic_ab_back_mtrl_am_alphadoabc_ic_ab_back_material

Edit: W 23.2.1 nazwa składnika została zmieniona z powrotem do abc_ic_ab_back_mtrl_am_alpha

EDIT: W 24.0.0 nazwa składnika została zmieniona na: abc_ic_ab_back_material

Wszystko, co musisz zrobić, to cha EDN wymienić abc_ic_search_api_mtrl_alpha do abc_ic_ab_search_material

To powinno działać

Aktualizacja

Dla API wersji 24.2.1 i większego zużycia poniżej słowa kluczowego.

abc_ic_search_api_material

Będzie ona działać.

+6

abc_ic_ab_search_material nie działa – mbonnin

+1

abc_ic_search_api_materiał powinien działać (przynajmniej dla wersji 24.2.1) – Sharpe

+0

OH C'MON! Czy Google nie przestanie już zmieniać nazw swoich zasobów ... –

1

Można importować ikony materiałów "Wstecz" i "Wyszukaj" jako ilustracje wektorowe.

Kliknij prawym przyciskiem res/drawable ->New ->vector asset

Następnie można dostosować kolor rozciągliwej wykorzystaniem DrawableCompat.setTint(). Jest to nie tylko bardziej elastyczne, ale również nie stanowi przełomu w przyszłych aktualizacjach bibliotek pomocniczych.

+0

Tak, zacząłem aktywować zasoby wektorowe, ale zauważyłem, że wszystkie ikony są czarne na Androidzie 4.0 (ICS). Nawet jeśli zmieniłem kolor na biały –

+0

'DrawableCompat.setTint (drawable.mutate(), Color.WHITE) powinno działać. Czyż nie? – mbonnin

+0

Możesz łatwo zmienić kolor, modyfikując ten plik XML w folderze do rysowania: Przejdź do systemu Android: fillColor = "# FFFFFFFF". –