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> 

しかし、私は24.1.1のAndroid Studioに23.0.1からlibreriesを更新した場合は言う:

それはなぜ

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_alphaabc_ic_ab_back_material

に編集:23.2.1コンポーネントの名前は

編集abc_ic_ab_back_mtrl_am_alpha に戻した:24.0.0コンポーネントの名前が変更されました〜へ: abc_ic_ab_back_material

あなたがする必要があるのは、 NGE abc_ic_search_api_mtrl_alphaそれは、APIバージョン24.2.1とキーワード以下のより一層の活用について

更新

を動作するはず

abc_ic_ab_search_materialに名前を付けます。それは動作します

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

'back'と 'search'の素材アイコンをベクターのドロウアブルとしてインポートできます。あなたはその後、DrawableCompat.setTint()を使用して描画可能の色をカスタマイズすることができます>vector asset

- >New -

res/drawableをクリックします。これはより柔軟になるだけでなく、将来のサポートライブラリの更新でも壊れません。

+0

ええ、私はusigベクトル資産を始めましたが、私はすべてのアイコンがAndroid 4.0(ICS)では黒であることに気付きました。色を白に変更しても、 –

+0

'DrawableCompat.setTint(drawable.mutate()、Color.WHITE)'が動作するはずです。それじゃない? – mbonnin

+0

ドロアブルフォルダ内のこのXMLファイルを変更すると、簡単に色を変更できます。 android:fillColor = "#FFFFFFFF"に変更してください。 –

関連する問題