错误:找不到符号变量 abc_ic_ab_back_mtrl_am_alpha
Posted
技术标签:
【中文标题】错误:找不到符号变量 abc_ic_ab_back_mtrl_am_alpha【英文标题】:error: cannot find symbol variable abc_ic_ab_back_mtrl_am_alpha 【发布时间】:2016-06-08 12:55:45 【问题描述】:我使用New > Fragment > Fragment (Blank)
在我的 android Studio 项目中添加了一个片段。结果当我尝试运行时,项目无法编译,因为它无法解析R.drawable.abc_ic_ab_back_mtrl_am_alpha
in
toolbar.setNavigationIcon(R.drawable.abc_ic_ab_back_mtrl_am_alpha);
有什么办法解决这个问题吗?
看来我也无法访问android:buttonTint
【问题讨论】:
您尝试从哪里添加来自活动或片段本身的图像? 活动。通过快捷方式创建片段的行为会破坏现有代码。我还没有在 Fragment 中做任何事情。仅仅创建它就是问题所在。即使我删除了片段,问题仍然存在。 必须有一种比简单的try to apply grade
更有意义的说法。
尝试将此代码放在片段中的 onCreate 方法中。 setHasOptionsMenu(true);
你是用'com.android.support:appcompat-v7:23.2.1'
编译吗?
【参考方案1】:
在 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
【讨论】:
不完全是。这个新资源在 appcompat-v7 中被标记为私有 我收到一个错误:cannot find symbol variable abc_ic_ab_back_material
在支持库的最新版本(23.2.1)中,他们将其改回 abc_ic_ab_back_mtrl_am_alpha
@Jon 你是绝对正确的。你应该把这个作为这个问题的答案发布,你会得到支持。谢谢!
好吧,在 25.0.0 abc_ic_ab_back_material 被声明为private
。【参考方案2】:
由于支持库中的矢量可绘制实现,看起来不再有光栅格式的图像。所以我放置了这个矢量可绘制对象,它表示与以前版本的支持库中相同的箭头。右击drawable文件夹,New -> Drawable resource file并粘贴xml
代码:
<?xml version="1.0" encoding="utf-8"?>
<vector xmlns:android="http://schemas.android.com/apk/res/android"
android:
android:
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
Gradle 插件 2.0+
android
defaultConfig
vectorDrawables.useSupportLibrary = true
Gradle 插件 1.5
android
defaultConfig
generatedDensities = []
// This is handled for you by the 2.0+ Gradle Plugin
aaptOptions
additionalParameters "--no-version-vectors"
更多信息请参见this blog post。
【讨论】:
【参考方案3】:就我而言,我是这样做的
final ActionBar ab = mActivity.getSupportActionBar();
ab.setHomeAsUpIndicator(android.support.v7.appcompat.R.drawable.abc_ic_ab_back_material);
【讨论】:
【参考方案4】:我在将 Android 支持库更新到版本 23.2.0 时遇到了这个问题
就我而言,我使用的第三方库存在冲突。
我切换到新版本的第三方库解决问题。
【讨论】:
【参考方案5】:很抱歉,这可能不是您要寻找的答案,但几分钟前我也遇到了这种情况。 Android Studio 提醒我,我的 Gradle 文件中有更新版本的“com.google.android.gms”和“com.android.support”可用——当时,我使用的是 8.3.0 和后者是 23.1.1,所以我更新到 8.4.0 和 23.2.0,那时我遇到了和你一样的问题,Android Studio 跳转到库中的 values-v11.xml 文件,用于 AFollestad 的材质对话框,并且似乎这引起了问题,因为它uses the AppCompat library。
编辑:刚刚找到this,如果您使用的是材料对话框,请检查您是否使用的是 0.8.5.5 版。如果没有,请升级到它。
【讨论】:
以上是关于错误:找不到符号变量 abc_ic_ab_back_mtrl_am_alpha的主要内容,如果未能解决你的问题,请参考以下文章