无法解析符号abc_ic_search_api_mtrl_alpha

时间:2016-08-12 22:32:50

标签: android android-layout android-studio material-design android-support-library

所以在我的项目中,我在操作栏中使用标准素材搜索图标。

<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

为什么?我在谷歌搜索但没有找到答案。

2 个答案:

答案 0 :(得分:31)

我在StackOverflow上发现了类似的问题:error: cannot find symbol variable abc_ic_ab_back_mtrl_am_alpha

上述主题的答案是:

  

在23.2.0支持库中更改了资源的名称。

     

修改 chart.setSelection(); abc_ic_ab_back_mtrl_am_alpha

     

编辑:在23.2.1中,组件的名称已更改回   abc_ic_ab_back_mtrl_am_alpha

     

编辑:在24.0.0中,组件的名称已更改为:   abc_ic_ab_back_material

您需要做的就是将名称abc_ic_ab_back_material更改为abc_ic_search_api_mtrl_alpha

应该有效

<强>更新

对于API版本 24.2.1 ,请在关键字下方使用更多。

  

abc_ic_search_api_material

它会起作用。

答案 1 :(得分:1)

您可以将“后退”和“搜索”素材图标导入为矢量绘图。

右键点击res/drawable - &gt; New - &gt; vector asset

然后,您可以使用DrawableCompat.setTint()自定义drawable的颜色。这不仅更灵活,而且在未来的支持库更新中也不会中断。