2014-10-20 4 views
5

Gleiches Layout, aber Rendering anders zwischen L und allen anderen Versionen.Android + CardView Hinzufügen von Rändern zu Nicht-L-Versionen?

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

Negative Ränder sind inkonsistent und werden im Allgemeinen auf Android nicht unterstützt. Was versuchst du hier zu machen? – ianhanniballake

+0

Ignoriere diesen negativen Rand ... der versucht hat, den Rand zu korrigieren, der zu Nicht-L-Versionen von CardView hinzugefügt wird. – worked

+0

Ich versuche, ein ähnliches Aussehen zwischen L und nicht-L mit dem neuen CardView zu haben. – worked

Antwort

2

Dies wird als beabsichtigt. Die Schatten vor L werden "simuliert". Von der documentation "CardView verwendet Elevation-Eigenschaft auf L für Schatten und fällt zurück auf eine benutzerdefinierte Schattenimplementierung auf älteren Plattformen." Es gibt andere Kompatibilitätsprobleme, über die Sie lesen sollten. Stellen Sie insbesondere sicher, dass "useCompatPadding" aus Konsistenzgründen auf "true" gesetzt ist.

+0

Shadow war nur ein Problem, die Polsterung ist der große Übeltäter und weitgehend inkonsistent. Ich verwende useCompatPadding, siehe oben. – worked