带有背景色调的浮动操作按钮导致错误
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"
我真的不知道我是否应该删除这篇文章,因为它可能有点重复,但我非常感谢你们的帮助。
【讨论】:
以上是关于带有背景色调的浮动操作按钮导致错误的主要内容,如果未能解决你的问题,请参考以下文章