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

  • SSL Proxy avec Genymotion et Charles?
  • Utilisation d'Android Studio avec Vuforia
  • Arrêtez ScrollView de la mise au point sur EditText
  • Android GCM envoyé avec succès mais pas reçu sur certains périphériques
  • La barre d'action ne montre pas
  • Générer 10 numéros et déplacer le premier numéro jusqu'à la fin 10 fois
  • 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"> 

  • Dans quel format les contacts sont-ils stockés dans Android?
  • Comment puis-je m'assurer que les applications Android Phonegap / Cordova utilisent les sites Web Chrome?
  • Définir la position / la taille de l'élément UI en pourcentage de la taille de l'écran
  • Comment tester les performances d'une application Android?
  • Ne peut pas démarrer le périphérique Genymotion
  • Android s'écrasant après l'intention de la caméra
  • 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.