J'utilise 'com.Android.support:cardview-v7:23.4.0'
et je vois l'ombre, mais ce n'est pas une ombre gris foncé, et j'aimerais obtenir une ombre d'élévation plus sombre, mais je ne vois aucun attribut pour l'obtenir, des idées?
<Android.support.v7.widget.CardView
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:layout_marginTop="8dp"
Android:layout_marginRight="8dp"
Android:layout_marginLeft="8dp"
Android:layout_marginBottom="8dp"
app:cardElevation="8dp"
app:cardPreventCornerOverlap="false"
app:cardCornerRadius="1dp"
app:cardUseCompatPadding="false">
<include layout="@layout/any_layout"/>
</Android.support.v7.widget.CardView>
Je crois que l'intensité de l'ombre est définie par le thème sous-jacent utilisé par l'application. Ainsi, pour un niveau d'API supérieur à 21, vous pouvez remplacer l'intensité des ombres. Dans votre styles.xml
, ajoutez ces deux lignes supplémentaires de ambientShadowAlpha
et spotShadowAlpha
. Veuillez noter que ces valeurs vont de 0 à 1, 0 étant complètement transparent et 1 complètement opaque (presque noir):
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar">
<!-- Customize your theme here. -->
<item name="Android:fontFamily">@font/barlow_family</item>
<item name="Android:ambientShadowAlpha">1</item>
<item name="Android:spotShadowAlpha">1</item>
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="Android:statusBarColor">@Android:color/background_light</item>
</style>
Essayez d'utiliser cette solution. Enveloppez votre cardview dans un RelativeLayout et donnez-lui un arrière-plan.
<RelativeLayout
Android:layout_width="match_parent"
Android:layout_height="150dp"
Android:background="#FFE7E2E4">
<Android.support.v7.widget.CardView
Android:layout_width="match_parent"
Android:layout_height="match_parent"
app:cardElevation="5dp"
app:cardUseCompatPadding="true"/>
</RelativeLayout>
Vous ne pouvez pas changer la couleur de l'ombre de cardView, mais pour la rendre plus sombre, vous pouvez utiliser app: cardElevation = "15dp" comme
<Android.support.v7.widget.CardView
Android:layout_width="match_parent"
Android:layout_height="100dp"
Android:layout_margin="10dp"
app:cardElevation="15dp"
> </Android.support.v7.widget.CardView>
il n'y a aucun moyen de changer la couleur de l'élévation officielle de CardView, regardez ceci Carbon