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