浮动动作按钮与背景色调导致错误

时间:2017-07-26 02:53:43

标签: android floating-action-button

我试图在fab的其他项目中实现浮动操作按钮并自定义它并且工作正常。但这次,当我在xml布局中创建fab对象时,它显示错误。感到困惑,它试图删除它的一些标签,并发现给出android:backgroundTint标签是出现错误的时候。

以下是代码:

    <android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:fabSize="mini"
    android:layout_alignParentBottom="true"
    android:layout_alignParentRight="true"
    android:src="@drawable/ic_action_fab"
    android:backgroundTint="#2196F3"
    android:layout_margin="12dp"/>

这是我的构建:

compileSdkVersion 25
buildToolsVersion '25.0.0'

defaultConfig {
    applicationId "com.xxxx.xxxx"
    minSdkVersion 10
    targetSdkVersion 23
    versionCode 1
    versionName "2.0.4"
}

我还添加了google design gradle。

错误:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.xxxx.xxxx/com.xxxx.xxxx.HomeActivity}: android.view.InflateException: Binary XML file line #141: Binary XML file line #141: Error inflating class android.support.design.widget.FloatingActionButton

一旦我删除了android:backgroundtint标签,错误就消失了。知道为什么会这样吗?

3 个答案:

答案 0 :(得分:9)

而不是android:backgroundTint="#2196F3", 试试app:backgroundTint="#2196F3"

答案 1 :(得分:3)

根据documentation,默认情况下,它采用 styles.xml 属性 colorAccent 中设置的颜色。

如果您希望更改颜色,请使用属性 app:backgroundTint 的XML  而不是android:backgroundTint

所以fab图标的最终XML将是

<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:fabSize="mini"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:src="@drawable/ic_action_fab"
app:backgroundTint="#2196F3"
android:layout_margin="12dp"/>

答案 2 :(得分:0)

根据上面给出的答案,添加 app:backgroundTint 而不是 android:backgroundTint. 是正确的。您可以在此处找到详细信息{ {3}}

示例: app:backgroundTint="@color/orange"

我真的不知道是否应该删除此帖子,因为它可能有点重复,但我非常感谢您的帮助。