Existe-t-il un moyen pour AppBarLayout
de ne pas créer d'ombre portée et de conserver son élévation?
<Android.support.design.widget.AppBarLayout
app:elevation="0dp">
Pour compléter la réponse de M.Sandholtz, vous pouvez également la définir en XML, avec outlineProvider = "none".
<View
Android:id="@+id/viewElevationNoShadow"
Android:outlineProvider="none"
Android:elevation="4dp"/>
Je viens de rencontrer ce même problème et c'est ce qui l'a résolu pour moi:
val withElevationNoShadow = view.findViewById<*your view type*>(*your view id*)
withElevationNoShadow.outlineProvider = null
Gardez à l'esprit que le code ci-dessus est Kotlin, mais le Java est presque identique.
Cela fonctionne car les ombres sont dessinées par ViewOutlineProvider
s. En définissant ViewOutlineProvider
sur null
, vous supprimez l'ombre par défaut.
Pour plus d'informations sur ViewOutlineProvider
s consultez
https://developer.Android.com/reference/Android/view/ViewOutlineProvider
et
https://developer.Android.com/training/material/shadows-clipping