对于 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 会在您的按钮周围放置一个边距以绘制阴影。然后你应该做这样的事情(我目前正在使用这个代码并且工作):
<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"
android:layout_alignParentRight="true"
android:layout_marginRight="@dimen/map_FAB_marginRight"
android:layout_marginBottom="@dimen/locate_user_FAB_marginBottom"
app:backgroundTint="@color/colorAccentGrey">
我更喜欢放在xmlns:app="http://schemas.android.com/apk/res-auto"
XML 的开头,但我放在那里只是为了提醒您;]