Joindre des CardView de style à thème

Dans mon application, j'ai deux thèmes (clair et foncé), et je souhaite à tous de mon CardViews pour changer leur couleur de fond en fonction dont le thème est sélectionné.

Ce que je ne pas voulez, c'est:

<android.support.v7.widget.CardView
    style="@style/CardView.MyBlue"
    android:layout_width="200dp"
    android:layout_height="100dp"
    android:layout_gravity="center_horizontal">

Le code ci-dessus n'est pas dynamique. J'ai besoin de mes deux styles pour être appliqué automatiquement en fonction de si une lumière ou d'un thème sombre est sélectionné.


Ce que j'ai en ce moment ne fonctionne pas:

<style name="AppTheme.Light" parent="Theme.AppCompat.Light">
   ...
   <item name="cardViewStyle">@style/CardViewStyle.Light</item>
</style>
<style name="AppTheme.Dark" parent="Theme.AppCompat">
   ...
   <item name="cardViewStyle">@style/CardViewStyle.Dark</item>
</style>

<style name="CardViewStyle.Light" parent="CardView">
    <item name="cardBackgroundColor">@color/cardview_dark_background</item>
</style>

<style name="CardViewStyle.Dark" parent="CardView">
        <item name="cardBackgroundColor">@color/cardview_light_background</item>
</style>

J'ai lu quelque part que vous pouvez définir un styleable.xml fichier dans /res/values/ à la clé, le mot cardViewStyle, donc je l'ai fait:

styleable.xml:

<resources>
    <declare-styleable name="AppTheme">
        <attr name="cardViewStyle" format="reference" />
    </declare-styleable>
</resources>

Mise à jour

Question similaire ici avec pas de réponse non plus.