2014-12-12 2 views
4

Я хотел бы добавить contentPadding в мою карточку поддержки. Это дополнение рассчитывается на 4.4 устройствах правильно, но на устройстве 4.1.2 контентная панель не работает.Поддержка Android Cardview contentPadding не работает

build.gradle:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:21.0.3' 
    compile 'com.android.support:cardview-v7:21.0.3' 
} 

XML-макет

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
      xmlns:tools="http://schemas.android.com/tools" 
      xmlns:card_view="http://schemas.android.com/apk/res-auto" 
      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      tools:context=".MainActivity"> 

<android.support.v7.widget.CardView 
    android:id="@+id/card" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_gravity="center" 
    card_view:cardCornerRadius="4dp" 
    card_view:contentPaddingLeft="32dp" 
    card_view:contentPaddingRight="32dp" 
    card_view:contentPaddingTop="32dp" 
    card_view:contentPaddingBottom="32dp"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <ImageView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:src="@drawable/ic_launcher"/> 

     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="This is a very long text with more blablablablablablablablabla bla bla bla blablablablabla bla blablablablablabla blablablablabla blablablablabla blablabla"/> 

    </LinearLayout> 

</android.support.v7.widget.CardView> 

</RelativeLayout> 

В результате на устройстве под управлением 4.1.2: Android 4.1.2 - Sony Xperia L

contentPadding не ре познан.

же приложение работает 4.4.2 устройство: Android 4.4.2 - Samsung Galaxy S4

contentPadding правильно распознан.

Я нашел обходное решение для этой проблемы в этой теме: How to set the padding for CardView widget in Android L Но я хотел бы знать, может ли кто-то другой столкнуться с этой проблемой или может обеспечить лучшее решение?

EDIT: В настоящее время это похоже только на устройство Sony XPERIA L под управлением Android 4.1.2. Я тестировал Galaxy Nexus с 4.1.2, и в этом случае все выглядит красиво.

ответ

1

Использовать setUseCompatPadding(true) или параметр XML app:cardUseCompatPadding="true"

Смежные вопросы