错误:找不到符号变量abc_ic_ab_back_mtrl_am_alpha

时间:2016-02-25 16:12:59

标签: android android-layout android-studio drawable android-resources

我使用New > Fragment > Fragment (Blank)向我的Android Studio项目添加了一个片段。因此,当我尝试运行时,项目将无法编译,因为它无法解析

中的R.drawable.abc_ic_ab_back_mtrl_am_alpha
toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);

任何想法如何解决这个问题?

看起来我也失去了对android:buttonTint

的访问权限

5 个答案:

答案 0 :(得分:173)

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

修改 abc_ic_ab_back_mtrl_am_alpha abc_ic_ab_back_material

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

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

答案 1 :(得分:15)

由于支持库中的矢量可绘制实现,看起来不再有栅格格式的图像。所以我把这个矢量drawable表示与之前版本的支持库中相同的箭头。右键单击 drawable 文件夹, New - >可绘制资源文件并粘贴此xml代码:

<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
    android:width="24dp"
    android:height="24dp"
    android:viewportWidth="24"
    android:viewportHeight="24">

    <path
        android:pathData="M0 0h24v24H0z" />
    <path
        android:fillColor="#ffffff"
        android:pathData="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z" />
</vector>

Source

对于API&lt; 21,您必须将这些属性添加到gradle构建文件中:

Gradle Plugin 2.0 +

android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }

Gradle Plugin 1.5

android {  
   defaultConfig {  
     generatedDensities = []  
  }  

  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 } 

有关详细信息,请参阅this blog post

答案 2 :(得分:7)

就我而言,我这样做了

final ActionBar ab = mActivity.getSupportActionBar();
             ab.setHomeAsUpIndicator(android.support.v7.appcompat.R.drawable.abc_ic_ab_back_material);

答案 3 :(得分:2)

将Android支持库更新为版本23.2.0时出现此问题

在我的情况下,我使用的是冲突的第三方库。

我切换到新版本的第三方库来解决问题。

答案 4 :(得分:1)

很抱歉这可能不是您正在寻找的答案,但几分钟前我也遇到过这种情况。 Android Studio警告我在我的Gradle文件中提供了更新版本的“com.google.android.gms”和“com.android.support” - 当时我使用8.3.0作为前者和23.1.1对于后者,所以我更新到8.4.0和23.2.0,当我遇到与你相同的问题时,Android Studio跳转到AFollestad的Material Dialogs库中的values-v11.xml文件,并且它似乎导致问题,因为它uses the AppCompat library

编辑:刚刚找到this,如果您使用的是材料对话框,请检查您是否使用的是0.8.5.5版本。如果没有,请升级到它。