你好,亲爱的百合花,
在我的项目中,我正在使用新的"android设计库“。问题是,有一个运行时异常,它显示(我试图创建一个FloatingButton):
java.lang.RuntimeException: Failed to resolve attribute at index 6
at android.content.res.TypedArray.getColorStateList(TypedArray.java:426)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:91)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:79)
at android.support.design.widget.FloatingActionButton.<init>(FloatingActionButton.java:75)我找出了哪些属性不能被解析:
<style name="Widget.Design.FloatingActionButton" parent="android:Widget">
<item name="android:background">@drawable/fab_background</item>
<item name="backgroundTint">?attr/colorAccent</item> **!! this one is missing !!**
<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>它位于android-design-库中的res/value/样式/contentes.xml中。
我在this文章中读到,API应该是双21+。但是,由于设计库支持API 7+,这实际上不应该是一个问题。
还值得一提的是,我还没有像这样将设计库作为等级依赖项包括在内:
compile 'com.android.support:design:22.2.0'我手动将库添加到项目中,因为Jenkins服务器没有Internet访问权限。我已经将support-v4库更新为21.2.0,并且appcompat支持-v7也包括并更新了。
下面是android-design-library gradle文件:
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 17
targetSdkVersion 21
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}如果有人能帮我,那就太好了。
发布于 2015-06-02 20:33:30
我自己也遇到了这个问题。这是因为我的应用程序还没有使用AppCompat,仍然只是普通的支持FragmentActivity。这意味着FloatingActionButton正在寻找两个主题属性,却找不到它们。
具体来说,添加这些缺失的属性使它对我有效,而无需开始使用AppCompat。
<LinearLayout
...
xmlns:app="http://schemas.android.com/apk/res-auto"
.../>
<android.support.design.widget.FloatingActionButton
...
app:backgroundTint="@color/{some color statelist}"
app:rippleColor="@color/{some color statelist}"
... />
</LinearLayout>发布于 2017-10-30 07:58:47
由于使用了getApplicationContext()而不是Activity来检索LayoutInflater并为列表适配器膨胀项视图,所以出现了同样的问题。
发布于 2015-07-12 06:47:18
您可以通过使用Theme.AppCompat.Light作为活动的父主题来解决这个问题。添加:原因是在FloatingActionButton中使用内部的默认样式之一是如下所示:

backgroundTint是指另一个属性colorAccent,它应该是在主题中声明的度量,否则,异常可能会抛出。但是colorAccent是在AppCompat主题中声明的,并且在sdk Theme.To度量中没有声明我们可以在运行中正确地使用设计库,其中一个简单的方法是测量AppCompat主题(如Theme.AppCompat.Light )的使用情况。
https://stackoverflow.com/questions/30595187
复制相似问题