Updates the backward compatible maximum elevation of the CardView.
Calling this method has no effect if device OS version is Lollipop or
newer and getUseCompatPadding() is false.
Use this code
android:elevation="3dp"
or app:elevation="3dp"
to your cardview
CardView uses elevation property on Lollipop for shadows and falls
back to a custom emulated shadow implementation on older platforms.
Due to expensive nature of rounded corner clipping, on platforms
before Lollipop, CardView does not clip its children that intersect
with rounded corners. Instead, it adds padding to avoid such
intersection (See setPreventCornerOverlap(boolean) to change this
behavior).
Before Lollipop, CardView adds padding to its content and draws
shadows to that area. This padding amount is equal to maxCardElevation
+ (1 - cos45) * cornerRadius on the sides and maxCardElevation * 1.5 + (1 - cos45) * cornerRadius on top and bottom.
Since padding is used to offset content for shadows, you cannot set
padding on CardView. Instead, you can use content padding attributes
in XML or setContentPadding(int, int, int, int) in code to set the
padding between the edges of the CardView and children of CardView.
Note that, if you specify exact dimensions for the CardView, because
of the shadows, its content area will be different between platforms
before Lollipop and after Lollipop. By using api version specific
resource values, you can avoid these changes. Alternatively, If you
want CardView to add inner padding on platforms Lollipop and after as
well, you can call setUseCompatPadding(boolean) and pass true.
To change CardView's elevation in a backward compatible way, use
setCardElevation(float). CardView will use elevation API on Lollipop
and before Lollipop, it will change the shadow size. To avoid moving
the View while shadow size is changing, shadow size is clamped by
getMaxCardElevation(). If you want to change elevation dynamically,
you should call setMaxCardElevation(float) when CardView is
initialized.
0dp
, so this formula doesn't hold up in that case. Suggestions? – Haulm