尝试在我的项目中使用新的设计支持库,AAPT 抛出以下错误:
Description: Error: No resource found that matches the given name: attr 'backgroundTint'.
Resource: /design/res/values/styles.xml
Location: line 21
这是
styles.xml
中受影响的条目:
<style name="Widget.Design.FloatingActionButton" parent="android:Widget">
<item name="android:background">@drawable/fab_background</item>
<item name="backgroundTint">?attr/colorAccent</item>
<item name="fabSize">normal</item>
<item name="elevation">@dimen/fab_elevation</item>
<item name="pressedTranslationZ">@dimen/fab_translation_z_pressed</item>
<item name="rippleColor">?attr/colorControlHighlight</item>
<item name="borderWidth">@dimen/fab_border_width</item>
</style>
我的目标是我的项目使用 SDK 21,最小 SDK 设置为 17。
编辑: 我拥有所有最新的 SDK 工具。
将 appcompat-v7 库添加为设计库项目的依赖项。
它为我解决了同样的错误。
我能够使用@igece 解决方案解决问题,但后来我发现真正的问题是过时的
appcompat-v7 library
。
将其升级到最新版本后,无需在 Google 的库中进行任何编辑。
似乎解决了将
format
属性添加到backgroundTint
和backgroundTintMode
项目的/res/values/attrs.xml
:
之前:
<declare-styleable name="FloatingActionButton">
<!-- Background for the FloatingActionButton -->
<attr name="android:background"/>
<attr name="backgroundTint"/>
<attr name="backgroundTintMode"/>
之后:
<declare-styleable name="FloatingActionButton">
<!-- Background for the FloatingActionButton -->
<attr name="android:background"/>
<attr name="backgroundTint" format="color"/>
<attr name="backgroundTintMode" format="integer"/>
如果您已经安装了更新的 Android 支持存储库和 Google Play 服务,则在设计库项目的依赖项中添加 appcompat-v7 库是此问题的解决方案。
我想将其添加为第三个答案下的评论,但代码格式不正确。我必须在下面添加两个依赖项才能解决问题:
compile 'com.android.support:appcompat-v7:25.3.1'
compile 'com.android.support:design:25.3.1'