带有背景色调的浮动操作按钮导致错误

Posted

技术标签:

【中文标题】带有背景色调的浮动操作按钮导致错误【英文标题】:floating action button with background tint cause error 【发布时间】:2018-01-01 04:00:06 【问题描述】:

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

代码如下:

    <android.support.design.widget.FloatingActionButton
    android:layout_
    android:layout_
    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 ComponentInfocom.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 标签,错误就消失了。知道为什么会这样吗?

【问题讨论】:

【参考方案1】:

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

【讨论】:

【参考方案2】:

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

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

所以 fab 图标的最终 XML 将是

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

【讨论】:

【参考方案3】:

正如上面给出的答案,添加app:backgroundTint而不是android:backgroundTint.是正确的,您可以在answer中找到详细信息 p>

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

我真的不知道我是否应该删除这篇文章,因为它可能有点重复,但我非常感谢你们的帮助。

【讨论】:

以上是关于带有背景色调的浮动操作按钮导致错误的主要内容,如果未能解决你的问题,请参考以下文章

怎样将电脑底色调成护眼颜色

怎么设置WPS表格绿色护眼背景色??

android studio怎么设置背景颜色

如何从浮动操作按钮中删除那些深色圆形背景?

ueditor的编辑器编辑的内容在网页上显示后带有白色背景图解决

如何重置为默认按钮背景色?