AppBarLayout
是否有办法不投影并保持其高程?
<android.support.design.widget.AppBarLayout
app:elevation="0dp">
答案 0 :(得分:14)
我只是遇到了同样的问题,这就是为我解决的问题:
val withElevationNoShadow = view.findViewById<*your view type*>(*your view id*)
withElevationNoShadow.outlineProvider = null
请记住,上面的代码是Kotlin,但是Java几乎相同。
之所以可行,是因为阴影是由ViewOutlineProvider
绘制的。通过将视图的ViewOutlineProvider
设置为null
,可以删除默认阴影。
有关ViewOutlineProvider
的更多信息,请检出
https://developer.android.com/reference/android/view/ViewOutlineProvider
和
https://developer.android.com/training/material/shadows-clipping
答案 1 :(得分:13)
要完成M.Sandholtz的答案,您还可以使用XML定义此内容,并带有outlineProvider =“ none”。
<View
android:id="@+id/viewElevationNoShadow"
android:outlineProvider="none"
android:elevation="4dp"/>