当前位置:   article > 正文

Android CardView基础使用

android cardview

目录

一、CardView

1.1 导入material库

1.2 属性

二、使用(效果)

2.1 圆角卡片效果

2.2 阴影卡片效果

2.3 背景

        2.3.1 设置卡片背景(app:cardBackgroundColor)

        2.3.2 内嵌布局,给布局设置背景色

2.4 进阶版

        2.4.1 带透明度

        2.4.2 无透明度


一、CardView

        顾名思义,就是卡片布局。现在卡片布局越来越普及了,以前都是各种shape来实现卡片效果,现在可以直接用控件来实现,是不是美滋滋?CardView实用性还是比较强的,一起来试试吧?

1.1 导入material库

implementation 'com.google.android.material:material:1.10.0'
material:1.10.0 要求SDK大于等于34,如果不打算兼容那么高的,建议降低至 1.8.0 ,不影响 CardView 的使用。

        CardView继承自FrameLayout,可以让我们使用类似卡片布局来显示一致性效果的内容。同时卡片还可以包含圆角和阴影效果。

1.2 属性

  • app:cardBackgroundColor 设置背景颜色

  • app:cardCornerRadius 设置圆角大小,不要圆角设置为0

  • app:cardElevation 设置z轴的阴影,不需要阴影设置为0

  • app:cardMaxElevation 设置z轴的最大高度值

  • app:contentPadding 设置padding

  • app:contentPaddingLeft

  • app:contentPaddingTop

  • app:contentPaddingRight

  • app:contentPaddingBottom

需要注意的是这里的前缀是 app ,而不是 android

二、使用(效果)

2.1 圆角卡片效果

        默认是带点阴影效果的。

  1.     <androidx.cardview.widget.CardView
  2.         android:layout_width="match_parent"
  3.         android:layout_margin="10dp"
  4.         android:background="@color/purple_200"
  5.         app:cardCornerRadius="10dp"
  6.         app:contentPadding="20dp"
  7.         android:layout_height="wrap_content">
  8.         <TextView
  9.             android:layout_width="wrap_content"
  10.             android:text="圆角 CardView "
  11.             android:textColor="@color/black"
  12.             android:layout_height="wrap_content"/>
  13.     </androidx.cardview.widget.CardView>

2.2 阴影卡片效果

  1. <androidx.cardview.widget.CardView
  2.         android:layout_width="match_parent"
  3.         android:layout_margin="10dp"
  4.         app:cardCornerRadius="10dp"
  5.         app:cardElevation="20dp"
  6.         android:layout_height="wrap_content">
  7.         <TextView
  8.             android:layout_width="wrap_content"
  9.             android:layout_gravity="center"
  10.             android:layout_margin="20dp"
  11.             android:text="阴影 CardView"
  12.             android:textColor="@color/black"
  13.             android:layout_height="wrap_content"/>
  14.     </androidx.cardview.widget.CardView>

2.3 背景

        2.3.1 设置卡片背景(app:cardBackgroundColor)

  1.     <androidx.cardview.widget.CardView
  2.         android:layout_width="match_parent"
  3.         android:layout_margin="10dp"
  4.         app:cardBackgroundColor="@color/purple_200"
  5.         app:cardCornerRadius="10dp"
  6.         app:cardElevation="20dp"
  7.         android:layout_height="wrap_content">
  8.         <LinearLayout
  9.             android:layout_width="match_parent"
  10.             android:orientation="vertical"
  11.             android:layout_height="wrap_content">
  12.             <TextView
  13.                 .../>
  14.             <TextView
  15.                 .../>
  16.         </LinearLayout>
  17.     </androidx.cardview.widget.CardView>

        2.3.2 内嵌布局,给布局设置背景色

  1.     <androidx.cardview.widget.CardView
  2.         android:layout_width="match_parent"
  3.         android:layout_margin="10dp"
  4.         app:cardCornerRadius="10dp"
  5.         app:cardElevation="20dp"
  6.         android:layout_height="wrap_content">
  7.         <LinearLayout
  8.             android:layout_width="match_parent"
  9.             android:orientation="vertical"
  10.             android:background="@color/purple_200"
  11.             android:layout_height="wrap_content">
  12.             <TextView
  13.                 .../>
  14.             <TextView
  15.                 .../>
  16.         </LinearLayout>
  17.     </androidx.cardview.widget.CardView>

2.4 进阶版

        同时设置 app:cardBackgroundColorandroid:background

        2.4.1 带透明度

  1.   <androidx.cardview.widget.CardView
  2.         app:cardBackgroundColor="#44ff0000"
  3.         android:background="#440000ff"
  4.         ...>
  5.         <TextView
  6.             android:background="#440000ff"
  7.             />
  8.     </androidx.cardview.widget.CardView>

        2.4.2 无透明度

  1.     <androidx.cardview.widget.CardView
  2.         ...
  3.         app:cardBackgroundColor="#ff0000"
  4.         android:background="#00ff00">
  5.         <TextView
  6.             ...
  7.             android:background="#0000ff"/>
  8.     </androidx.cardview.widget.CardView>
android:background明显会被app:cardBackgroundColor消费(覆盖)掉
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/536686
推荐阅读
相关标签
  

闽ICP备14008679号