web-dev-qa-db-fra.com

Android - L'ombre d'élévation de CardView rend plus sombre

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>
4
Billyjoker

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>
2
Atharva Kulkarni

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>
0

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>
0
yatin deokar

il n'y a aucun moyen de changer la couleur de l'élévation officielle de CardView, regardez ceci Carbon

0
Behnam Eskandari