浮动操作button的阴影裁剪在视图边缘

我有一个浮动动作button锚定在协调器布局的右下angular。 它从视图的边缘开始是16dp(边距默认包含在内,并在dimens.xml文件中指定),但是它的阴影是裁剪的,并且具有方形外观(如下所示)。 当我将浮动动作button从视图的边缘移动到32dp时,其阴影显示正确。 我想浮动动作button从边距16dp,并正确显示其阴影。

我曾尝试设置其高程属性( android:elevation="5dp" ),但似乎没有效果。 我也尝试将borderWidth属性设置为0( app:borderWidth="0dp" ),但也没有效果。

浮动操作button的行为是否有这样的原因?

XML

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/coordinator_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity"> <android.support.design.widget.FloatingActionButton android:id="@+id/create_floating_action_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/ic_create_white_48dp" app:layout_anchor="@id/coordinator_layout" app:layout_anchorGravity="bottom|right" /> </android.support.design.widget.CoordinatorLayout> 

图片

FAB从边缘16dp。 FAB 32dp从边缘。

Solutions Collecting From Web of "浮动操作button的阴影裁剪在视图边缘"

问题是父母剪影的影子 。 查找剪切阴影的父(不一定是层次结构中的下一个),并将其添加到xml中的视图中。

 android:clipChildren="false" 

我一直在testing这个现在删除,并添加到父剪辑视图,并正常工作的行。

添加另一个容器或更改页边距是一种解决方法,我不推荐。 这太斑驳了。 小型工厂具有不同的容器尺寸,根据API等级(<21或> = 21)要求不同的尺寸。

有类似的问题。 做两件事:

  1. android.support.design.widget.CoordinatorLayout删除android:paddingRight="@dimen/activity_horizontal_margin" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingRight="@dimen/activity_horizontal_margin"android:paddingBottom="@dimen/activity_vertical_margin"

  2. android.support.design.widget.FloatingActionButton添加android:layout_marginRight="@dimen/activity_horizontal_margin"android:layout_marginBottom="@dimen/activity_horizontal_margin"

作为解释= FAB或没有地方显示阴影,并由此,你还没有看到它的完整。

我也有同样的问题。 但为了FAB的缘故,我不能舍弃我的保证金价值。 所以我在层次结构中添加了另外一层,这帮助我将FAB放置到我想要的位置,而不会中断父项。 所以现在我为了FAB而在CoordinatorLayout里面有一个CoordinatorLayout 。 下面是我修改的布局文件。

 <android.support.design.widget.CoordinatorLayout android:id="@+id/ddd" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:background="@drawable/tile" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.CoordinatorLayout android:id="@+id/fff" android:padding="10dp" android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:id="@+id/scroll_container" android:layout_width="match_parent" android:layout_height="match_parent"> <!-- All my views under a LinearLayout parent --> </ScrollView> </android.support.design.widget.CoordinatorLayout> <android.support.design.widget.FloatingActionButton android:id="@+id/fabAdd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:contentDescription="Add Text" android:visibility="visible" android:layout_margin="10dp" app:backgroundTint="@color/primary" app:layout_anchor="@+id/fff" app:layout_anchorGravity="bottom|right|end"/> </android.support.design.widget.CoordinatorLayout>