J'utilise la bibliothèque de support de google cardView pour les fonctionnalités de ma carte. Cela fonctionne bien pour KitKat et la version ultérieure, mais le fond de la carte est noir et le remplissage/les marges ne sont pas appliqués sur le périphérique 4.1.2.
<Android.support.v7.widget.CardView
Android:id="@+id/all_goals_card_view"
Android:layout_height="wrap_content"
Android:layout_width="wrap_content"
Android:layout_marginRight="20dp"
Android:layout_marginLeft="20dp"
Android:layout_gravity="center"
Android:layout_marginTop="20dp"
Android:layout_marginBottom="20dp"
Android:padding="10dp"
app:cardCornerRadius="4dp"
card_view:cardPreventCornerOverlap="false"
card_view:cardBackgroundColor="@Android:color/white"
>
</Android.support.v7.widget.CardView>
D'accord, je suis tombé sur le même problème et j'ai trouvé sur certains appareils des défauts par défaut très "légers" sur des thèmes légers cough samsung cough Je vais répondre à cette question un peu ancienne.
La chose ici est que vous utilisez probablement la mauvaise context
pour gonfler votre mise en page. Je pense que vous utilisez le application-context
pour le faire. Le contexte d'application n'applique pas le thème que vous avez défini.
Ce (gonfler avec le contexte de l'application) est légal, mais l'inflation Sera faite avec le thème par défaut du système sur lequel vous exécutez Et non ce qui est défini dans votre application . *
Par exemple si vous faites:
LayoutInflater.from(context).inflate(R.layout.menu_rental_list_item, parent, false);
La context
ici doit être un Activity-
ou Fragment
Context
- PAS le contexte d'application.
Veuillez vérifier cela.
*) Ah, vous voulez en savoir plus sur les contextes? Veuillez continuer à lire ici .
n'utilisez pas "@Android: couleur/blanc"
card_view:cardBackgroundColor="#fff"
Cela résoudra le problème:
<Android.support.v7.widget.CardView
xmlns:card_view="http://schemas.Android.com/apk/res-auto"
Android:layout_width="match_parent"
Android:layout_height="wrap_content"
Android:orientation="vertical"
Android:background="#fff"
card_view:cardBackgroundColor="#fff"
Android:layout_margin="2dp">
Notez ces lignes:
xmlns:card_view="http://schemas.Android.com/apk/res-auto"
and
card_view:cardBackgroundColor="#fff"
J'ai eu le même problème sur le périphérique Android 4.1.2. J'utilisais un ImageView avec une forme dessinable à l'intérieur de CardView, qui était le véritable coupable.
S'il vous plaît vérifier la réponse dans ce lien qui m'a aidé à résoudre le problème.
Ne pas utiliser
Android: Thème.Dialog
ou
Android.R.style.Theme_Dialog
, si votre CardView fait partie de la présentation DialogFragment ou Dialog.