我试图在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标签,错误就消失了。知道为什么会这样吗?
答案 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"
我真的不知道是否应该删除此帖子,因为它可能有点重复,但我非常感谢您的帮助。