7

Projemde standart malzeme arama simgesini eylem çubuğunda kullanıyordum.Simge çözülemiyor 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> 

Ama 24.1.1 Android Studio 23.0.1 den libreries güncellerseniz diyor ki:

o neden

abc_ic_search_api_mtrl_alpha sembolü çözülemiyor? Google'da arama yaptım, ancak cevap bulamadım.

cevap

25

Ben StackOverflow'daki bir benzer bir sorun buldum: error: cannot find symbol variable abc_ic_ab_back_mtrl_am_alpha

yukarıdaki konu için cevap: kaynağın

adı 23.2.0 destek kütüphanede değiştirildi.

Değiştirabc_ic_ab_back_mtrl_am_alphaabc_ic_ab_back_material

için Düzenleme: 23.2.1 yılında bileşenin adı

Düzenleme abc_ic_ab_back_mtrl_am_alpha geri değiştirildi: 24.0.0 yılında bileşenin adı değiştirildi abc_ic_ab_back_material

Yapmanız gereken tek şey Bu API sürümü 24.2.1 ve anahtar kelime aşağıda daha kullanım için

Güncelleme

çalışması gerekir abc_ic_search_api_mtrl_alpha

abc_ic_ab_search_material için hücumdan isim.

abc_ic_search_api_material O çalışacaktır.

+6

abc_ic_ab_search_material çalışmıyor – mbonnin

+1

abc_ic_search_api_material çalışmalıdır (en az 24.2.1 için) – Sharpe

+0

OH C'MON! Google, kaynaklarını zaten yeniden adlandırmayı bırakmayacak .... –

1

'Geri' ve 'ara' malzeme simgelerini vektörel çizim olarak içe aktarabilirsiniz.

sağ res/drawable tıklayın ->New ->vector asset

Daha sonra çekilebilir kullanarak DrawableCompat.setTint rengini özelleştirebilirsiniz(). Bu sadece daha esnek olmakla kalmayıp, gelecekteki destek kütüphaneleri güncellemelerinde de bir kesinti olmayacaktır.

+0

Evet, usig vektör varlığını başlattım ama tüm simgelerin Android 4.0'da (ICS) siyah olduğunu fark ettim. Renk değiştirilse bile beyaz –

+0

'DrawableCompat.setTint (drawable.mutate(), Color.WHITE)' çalışmalıdır. Öyle değil mi? – mbonnin

+0

Bu XML dosyasını çizilebilir klasörde değiştirerek rengi kolayca değiştirebilirsiniz: Android'e değiştir: fillColor = "# FFFFFFFF". –