2014-10-20 14 views
5

Stesso layout, ma il rendering differisce tra L e tutte le altre versioni.Android + CardView aggiungendo margini alle versioni non L?

4.1.2

enter image description here

5,0

enter image description here

<android.support.v7.widget.CardView 
    android:id="@+id/card_view" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_margin="0dp" 
    android:background="#FFFFFFFF" 
    android:elevation="40dp" 
    android:padding="0dp" 
    android:translationZ="0dp" 
    app:cardBackgroundColor="#FFFFFFFF" 
    app:cardCornerRadius="2dp" 
    app:cardElevation="40dp" 
    app:cardPreventCornerOverlap="true" 
    app:cardUseCompatPadding="true" 
    app:contentPadding="10dp" > 

    <TextView 
     android:layout_width="wrap_content" 
     android:gravity="center_horizontal" 
     android:layout_gravity="center_vertical" 
     android:layout_height="wrap_content" 
     android:background="#FFFFFFFF" 
     android:text="TEXTVIEW" /> 
</android.support.v7.widget.CardView> 
+0

I margini negativi sono incoerenti e non supportati in generale su Android. Cosa stai cercando di fare qui? – ianhanniballake

+0

Ignora quel margine negativo ... che stava cercando di correggere il margine che viene aggiunto alle versioni non L di CardView. – worked

+0

Sto provando ad avere un aspetto simile tra L e non-L usando il nuovo CardView. – worked

risposta

2

Questo funziona come previsto. Le ombre pre-L sono "simulate". Da documentation "CardView utilizza la proprietà elevation su L per le ombre e ricade su un'implementazione shadow personalizzata su piattaforme meno recenti." Ci sono altri problemi di compatibilità di cui dovresti leggere. In particolare, assicurarsi di impostare useCompatPadding su true per coerenza.

+0

Shadow era solo un problema, il padding è il grande colpevole e largamente incoerente. Sto usando useCompatPadding, vedi sopra. – worked

Problemi correlati