2015-09-23 2 views
0

Мне просто интересно, действительно ли они смотрят MD, потому что их имена - - android.support.v7.widget.CardView.Являются ли виды экрана CardView и RecyclerView?

Есть ли другое имя пакета для CardView, когда речь заходит о версии 5.0 и выше (что-то вроде android.MaterialDesign.CardView)?

+0

просто используйте android.support.v7.widget.CardView ... только 20% имеют API 5.0+, поэтому ... 80% другим нужна библиотека поддержки. –

+0

Есть ли что-то отличное от android.support.v7.widget.CardView для 20%? – SadeepDarshana

+0

nope ... даже официальная документация говорит вам использовать поддержку: https://developer.android.com/training/material/lists-cards.html –

ответ

0
compile 'com.android.support:appcompat-v7:23.0.1' 
    compile 'com.android.support:design:23.0.1' 
    compile 'com.android.support:recyclerview-v7:23.0.1' 
    compile 'com.android.support:support-v4:23.0.1' 
    compile 'com.android.support:cardview-v7:23.0.1' 

Да, они есть и использовать их в вашем приложении, вам нужно будет добавить эти зависимости в свой файл градиента.

Ресайклер Посмотреть

<android.support.v7.widget.RecyclerView 
     android:id="@+id/rv" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" /> 

Card View

<android.support.v7.widget.CardView 
     android:id="@+id/cv_custom" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center" 
     android:elevation="2dp" 
     card_view:cardElevation="2dp" 
     card_view:cardUseCompatPadding="true"> 

     <RelativeLayout 
      android:layout_width="match_parent" 
      android:layout_height="match_parent"> 

      <TextView 
       android:id="@+id/person_count" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_alignParentEnd="true" 
       android:layout_alignParentRight="true" 
       android:layout_below="@+id/custom_event_name" 
       android:ellipsize="marquee" 
       android:gravity="bottom|end" 
       android:maxLines="3" 
       android:padding="8dp" 
       android:scrollHorizontally="true" 
       android:textColor="@color/textColorSecondary" 
       android:textSize="18sp" /> 

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

CardView в основном вспомогательный виджет включен в библиотеку поддержки. Даже в Android 5.0 и выше вы должны использовать android.support.v7.widget.CardView. Однако есть различия в том, как этот виджет рисует себя, в 5.0 и выше.

Из официальной документации:

FrameLayout с закругленным угловым фоном и тенью.

CardView использует свойство высот на L для теней и возвращается к пользовательской реализации теней на старых платформах.

Из-за дороговизной скругления округлых углов, на платформах до L, CardView не зажимает свои дети, которые пересекаются с закругленными углами. Вместо этого он добавляет отступы, чтобы избежать такого пересечения (см. SetPreventCornerOverlap (boolean), чтобы изменить это поведение).

Перед тем, как L, CardView добавляет дополнение к его содержимому и рисует тени до этой области. Эта величина заполнения равна maxCardElevation + (1 - cos45) * cornerRadius по бокам и maxCardElevation * 1,5 + (1 - cos45) * cornerRadius сверху и снизу.

См. Android Developers - CardView для получения дополнительной информации.

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