如何向android支持设计库提供的晶圆厂添加阴影?

如何向android支持设计库提供的晶圆厂添加阴影?,android,floating-action-button,android-design-library,android-appcompat,Android,Floating Action Button,Android Design Library,Android Appcompat,这个标题很能自我解释 以下代码不会渲染浮动操作按钮下方的阴影。如何渲染阴影?即使在API 21+上也不支持此功能吗 <android.support.design.widget.FloatingActionButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:src="@drawable/ic_add" android:clickable

这个标题很能自我解释

以下代码不会渲染浮动操作按钮下方的阴影。如何渲染阴影?即使在API 21+上也不支持此功能吗

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

只需设置
app:borderWidth=“0dp”
即可为我解决此问题

注意:别忘了添加
xmlns:app=”http://schemas.android.com/apk/res-auto“
到您的根布局


这应该在下一版本的android设计库中修复

对于API 21+,您需要设置
app:borderWidth=“0dp”
app:elevation=“[number]dp”
。设置要给定阴影大小的高程:

下面是API 21+的代码示例:

<android.support.design.widget.FloatingActionButton
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/locate_user_FAB"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/location_off"
    app:elevation="6dp"
    app:borderWidth="0dp"
    android:layout_above="@+id/take_taxi_FAB"
    app:backgroundTint="@color/colorAccentGrey">

对于低于21的API(Android 4),需要记住的一件重要事情是兼容性方面,FAB会在按钮周围留出一个空白,以画出阴影。然后您应该这样做(我目前正在使用此代码并工作):



我更喜欢把
xmlns:app=”http://schemas.android.com/apk/res-auto“
在XML的开头,但我放在这里只是为了提醒您;]

如果这对某些人来说仍然不起作用,那么以下两种情况之间存在显著差异:

app:elevation="6dp"
app:borderWidth="0dp"


由于某种原因,顺序似乎很重要(第一个顺序起作用,第二个不起作用),这是来自支持库23.3.0

检查项目中的清单或应用程序标记中的库,然后删除它们

android:hardwareAccelerated="false"
android:largeHeap="true"

但是如果您需要这些选项,那么阴影和变换动画将无法工作

我也遇到了同样的问题,我通过从我的AndroidManifest.xml中删除此标记使其工作

android:hardwareAccelerated="false"

我最初将它与android:largeHeap=“true”
一起添加,因为我认为我需要它来制作热图,热图中显示了大量的点,但后来我意识到它可以只与android:largeHeap=“true”

一起工作,以防有帮助,我使用了

android:tint="@color/myColor"
而不是

android:backgroundTint="@color/myColor".

用background替换淡色淡色会恢复阴影。

至少在21+的情况下,这可能适用:我考虑过一些事情,但删除StateListAnimator不会恢复阴影。这可能是因为FAB实际上是一个扩展的ImageView,而不是一个按钮。奇怪,因为FAB实际上有一个StateListAnimator。哇,这真的很有效。。。奇怪的行为。我无法想象这是预期的行为。@Thorinside这是一个bug,一个方形bug:对我不起作用。我正在设置地图视图上方的晶圆厂,而晶圆厂上没有出现fcking阴影
android:tint="@color/myColor"
android:backgroundTint="@color/myColor".