Android ViewOutlineProvider RoundRect角半径显示为白线

Android ViewOutlineProvider RoundRect角半径显示为白线,android,android-cardview,Android,Android Cardview,我使用下面的代码将圆角半径添加到布局的上角,以产生布局是底部板材的错觉。我遇到的问题是协调器布局是白色的,因此内容的recycler视图位于白色背景上,但是如果recycler视图中的第一个东西具有背景色,则在角落中会有一条明显的白线 父布局具有黑色背景,但布局本身具有白色背景。我不知道为什么在视图被剪切时会出现白色,但是如果没有ViewOutlineProvider,这不是问题 我也觉得在某些情况下,我在黑色背景下看到了CardView的这个问题。不确定是否相关 context?.let

我使用下面的代码将圆角半径添加到布局的上角,以产生布局是底部板材的错觉。我遇到的问题是协调器布局是白色的,因此内容的recycler视图位于白色背景上,但是如果recycler视图中的第一个东西具有背景色,则在角落中会有一条明显的白线

父布局具有黑色背景,但布局本身具有白色背景。我不知道为什么在视图被剪切时会出现白色,但是如果没有ViewOutlineProvider,这不是问题

我也觉得在某些情况下,我在黑色背景下看到了CardView的这个问题。不确定是否相关


context?.let {
    coordinatorLayout.outlineProvider = object : ViewOutlineProvider() {
        override fun getOutline(view: View?, outline: Outline?) {
            outline?.setRoundRect(0, 0, view!!.width, (view.height + curveRadius), curveRadius.toFloat())
        }
    }
    coordinatorLayout.clipToOutline = true
}
<androidx.coordinatorlayout.widget.CoordinatorLayout
    android:id="@+id/coordinator_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clipToPadding="false"
    android:background="@android:color/white">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/recycler_view"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:clipToPadding="false"
        android:importantForAccessibility="yes"/>

</androidx.coordinatorlayout.widget.CoordinatorLayout>