来自com.google.android.material的CardView和android.support.v7.widget有什么区别

Tar*_*ior 12 android cardview

我想知道两个小部件“ android.support.v7.widget.CardView”(使用Android Studio IDE组件选项板添加)和“ com.google.android.material.card.MaterialCardView”(在Material上使用)之间的区别设计文档。

它们是两个包含相同小部件的库吗?我应该使用哪一个以及如何做出此决定?

我尝试阅读更多有关developers.android的文档,但是developer.android上的文档确实很大,有很多版本,但我仍然有些困惑,无法在所有这些版本及其历史之间找到很好的解释全部以及它如何到达那里。有人乐于为我提供有关此历史的见解吗?

材料设计文档的用法:

<com.google.android.material.card.MaterialCardView
    android:layout_width="match_parent"
   android:layout_height="wrap_content">
</com.google.android.material.card.MaterialCardView>
Run Code Online (Sandbox Code Playgroud)

资料来源:https : //material.io/develop/android/components/material-card-view/

使用Android Studio时添加的CardView XML:

<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
</android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)

Gab*_*tti 53

有3个版本:

  • android.support.v7.widget.CardView:它由旧的支持库提供,但已弃用。

  • androidx.cardview.widget.CardView它是androidx版本,它取代了支持库。
    要使用它,您必须添加依赖项implementation 'androidx.cardview:cardview:x.x.x'

  • com.google.android.material.card.MaterialCardViewMaterial Components Library 提供。要使用它,您必须添加依赖项实现 'com.google.android.material:material:1.1.0'

MaterialCardView 扩展androidx.cardview.widget.CardView,并引入了一些变化使用的 MaterialShapeDrawable背景(它允许塑造提升覆盖了黑暗的主题)。
MaterialCardView支持检查拖动

  • 这应该作为最佳答案。它提供了所有上下文以充分理解这些组件之间的差异。 (6认同)
  • 默认情况下,“com.google.android.material.card.MaterialCardView”也有一个前景选择器。 (2认同)

Tar*_*ior 9

我在最近几天对Android库的历史进行了研究,得出了一个我想分享的结论:

  1. 组件android.support.v7.widget.CardView是旧库的一部分,建议您将其替换为com.google.android.material.card.MaterialCardView
  2. Android支持库(android.support。*)是一个旧的库,在2018年被新的Android X库(属于Jetpack库的一部分)和材质组件android所取代

参考文献:

https://medium.com/@neerajmoudgil/upgrading-to-new-android-material-design-components-e62ddb03c3d2

https://developer.android.com/reference(虽然很大,但值得一看的初学者谁想要了解Android库的历史以及所有Android版本)

  • 那`androidx.cardview.widget.CardView`呢? (18认同)

gus*_*gol 8

根据材料设计文档

MaterialCardView 是基于 Android 支持库中的 CardView 的可自定义组件。MaterialCardView 提供了 CardView 的所有功能,但添加了自定义笔触的属性,并默认使用更新的 Material 样式。