J'ai:
dans un fichier build.gradle
(dépendances)
dependencies {
compile 'com.Android.support:cardview-v7:21.0.+'
}
dans un fichier styles.xml
(définition des styles)
<resources
xmlns:Android="http://schemas.Android.com/apk/res/Android"
xmlns:card_view="http://schemas.Android.com/apk/res-auto">
<style name="CardViewStyle">
<item name="Android:layout_margin">5dip</item>
<item name="card_view:cardCornerRadius">4dp</item>
<item name="card_view:cardElevation">4dp</item>
</style>
</resources>
Mais le compilateur se plaint:
Erreur: aucune ressource trouvée correspondant au nom donné: attr 'card_view: cardCornerRadius'.
Comment ajouter des attributs cardView dans un style?
Définissez l'attribut parent
sur CardView
.
Vous n'avez même pas besoin d'ajouter xmlns:card_view="http://schemas.Android.com/apk/res-auto"
.
Extrait de code de travail:
<style name="CardViewStyle" parent="CardView">
<item name="cardCornerRadius">4dp</item>
<item name="cardElevation">4dp</item>
</style>
Pour ajouter à la réponse de mklimek, vous n'avez même pas besoin d'ajouter le parent = "CardView"
Évitez simplement le cardView: préfixe
Donc au lieu de
<item name="cardView:cardElevation">5dp</item>
il suffit d'utiliser
<item name="cardElevation">5dp</item>
Donc, mon code de style complet pour cela est:
<style name="categoriesCardViewButtons">
<item name="Android:layout_width">80dp</item>
<item name="Android:layout_height">wrap_content</item>
<item name="Android:layout_marginLeft">10dp</item>
<item name="cardCornerRadius">8dp</item>
<item name="cardElevation">5dp</item>
<item name="cardBackgroundColor">@color/grey_ultra_light</item>
<item name="Android:paddingBottom">@dimen/l1LayoutPaddingB</item>
</style>
Cette erreur peut se produire si vous n'avez pas CardView dans vos dépendances Gradle (dans Android Studio) pour le module contenant votre style (même si vous avez la dépendance dans le module dans lequel vous utilisez la vue carte). Dans ce cas, ajoutez simplement
compile 'com.Android.support:cardview-v7:22.2.1'
(ou une autre version) à build.gradle
pour le module contenant themes.xml ou styles.xml.
Ensuite, vous n'avez pas besoin de définir un parent sur votre style, ni un préfixe d'espace de noms, mais vous pouvez suivre l'exemple de la réponse de tsik, donc tout ce dont vous avez besoin est
<style name="myStyle">
<item name="cardCornerRadius">8dp</item>
</style>
Ce code fonctionne bien
<style name="MyCardView" parent="CardView">
<item name="cardUseCompatPadding">true</item>
<item name="cardCornerRadius">@dimen/hei_standard_8dp</item>
<item name="cardBackgroundColor">@color/bg_item_list_alphabet</item>
</style>
Remarque: parent = "CardView"