22

看起来FloatingActionButton在 Android 4.0 和 Lollipop 上无法正常工作。正如您在下图中看到的那样,在 Android Lollipopo 上缺少阴影,而在 Android 4.1.1 上它是方形的:/

有人遇到过这个问题吗?

库版本: compile 'com.android.support:design:22.2.0'

代码:

<android.support.design.widget.FloatingActionButton
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:src="@drawable/abc_ic_clear_mtrl_alpha"/> 

在此处输入图像描述

4

5 回答 5

33

感谢@harism 评论,只需设置即可app:borderWidth="0dp"解决这两个问题。

注意:不要忘记添加xmlns:app="http://schemas.android.com/apk/res-auto"到您的根布局。

于 2015-05-29T20:54:44.193 回答
5

如果在将borderWidth 设置为0dp 后FAB 仍然显示为正方形,请确保您没有在XML 中设置android:background 或在代码中调用setBackgroundColor。

您应该使用 android:backgroundTint (XML) 或 setSupportBackgroundTintList (code)

于 2015-07-15T19:55:16.030 回答
4

@Raghunandan,我在 Lollipop 上也有同样的问题。
最后,我发现根本原因是我的可绘制文件夹中名为“fab_background”的可绘制对象。
drawable 以前用于我自己的 fab 实现。
现在我重命名这个drawable后可以看到round fab。

于 2015-06-08T08:23:05.180 回答
3

设置 app:borderWidth="0dp" 有效。但是,如果您在 Android Studio 中遇到渲染问题并且将 Renderer 设置为 Android M 或 22,请将其设置为 21

于 2015-07-09T22:50:26.683 回答
1

似乎是一个错误。一位开发人员说“内部修复。很快就会出来。”。

于 2015-05-30T16:52:38.353 回答