Réglage de l'élévation dans XML sur AppCompat CardView sur Android 5.0

D'après ce que je comprends, au début de l'étape de prévisualisation, il n'y avait aucun moyen d'établir une élévation en XML uniquement sur CardView s sans piratage en Java. Maintenant que la sortie officielle est sortie, y at-il un moyen de le faire en XML sans avoir écrit le code Java pour configurer l'élévation?

J'ai essayé card_view:cardElevation sans effet. J'avais pensé que lorsque j'utilisais les émulateurs pour 5.0 tout allait bien. Mais maintenant que j'utilise la version officielle sur mon appareil actuel, tous mes CardView disparu

  • Android Studio 2.0 - Le plugin est trop vieux, mettez à jour une version plus récente ou définissez la variable d'environnement ANDROID_DAILY_OVERRIDE
  • Comment supprimer les entrées de la base de travail
  • Comment puis-je ajouter un nouveau calendrier téléphonique à Android?
  • Extraction de Android .apk et lecture du contenu du fichier XML en res / mise en page
  • Comment faire pour arrondir des nombres décimaux dans Android
  • Autorisation Google Cloud Vision API refusée
  • Pre Lollipop, ça marche très bien.

    Voici mon xml complet

     <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:orientation="horizontal" android:layout_width="match_parent" android:id="@+id/cv1" card_view:cardElevation="4dp" android:layout_margin="6dp" card_view:cardCornerRadius="3dp" android:layout_height="match_parent"> 

  • Activité de la caméra renvoie l'android null
  • Comment puis-je supprimer le bouton clair dans la zone de recherche de la liste?
  • Limite de taille de fichier Android Market. 50 Mo ou 4 Go?
  • Comment définir l'attribut android: layout_alignParentLeft dans imageview dans le code?
  • Android: lance l'activité à partir d'un texte cliquable
  • Où est une liste des intentions disponibles dans Android?
  • 3 Solutions collect form web for “Réglage de l'élévation dans XML sur AppCompat CardView sur Android 5.0”

    Il ressemble à un problème de marge / rembourrage, essayez de définir l'attribut cardUseCompatPadding sur true. Par exemple:

     <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="6dp" card_view:cardUseCompatPadding="true" card_view:cardElevation="4dp" card_view:cardCornerRadius="3dp"> 

    Explication de la documentation Android:

    CardView ajoute un rembourrage supplémentaire pour dessiner des ombres sur des plates-formes avant L.

    Cela peut entraîner des cartes de différentes tailles entre L et avant L. Si vous devez aligner CardView avec d'autres vues, vous pourriez avoir besoin de ressources de dimension spécifiques à la version d'api pour tenir compte des modifications. En variante, vous pouvez définir l'indicateur CardUseCompatPadding sur true et CardView ajoutera les mêmes valeurs de rembourrage sur les plates-formes L et après.

    Puisque la définition de l'indicateur cardUseCompatPadding à vrai ajoute des lacunes inutiles dans l'interface utilisateur, la valeur par défaut est fausse.

    Vous devez utiliser l'attribut cardElevation

     <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" card_view:cardElevation="4dp" /> 

    Si vous avez cette ligne

    Android: hardwareAccelerated = "false"

    Dans l'application manifeste, vos ombres n'ont pas été affichées. Essayez de

    Supprimer cette ligne

    ou

    Utiliser Android: hardwareAccelerated = "true"

    . Cela a fonctionné pour moi! J'espère qu'il fonctionnera pour vous aussi 🙂

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.