CardView

CardView继承至FrameLayout类,可以在一个卡片布局中一致性的显示内容,卡片可以包含圆角和阴影。CardView是一个Layout,可以布局其他View。

CardView常用属性:

  • card_view:cardElevation 阴影的大小及柔和度,以至于可以逼真的模拟出对于深度效果的描述。
  • card_view:cardMaxElevation 阴影最大高度
  • card_view:cardBackgroundColor 卡片的背景色
  • card_view:cardCornerRadius 卡片的圆角大小
  • card_view:contentPadding 卡片内容于边距的间隔
    • card_view:contentPaddingBottom
    • card_view:contentPaddingTop
    • card_view:contentPaddingLeft
    • card_view:contentPaddingRight
    • card_view:contentPaddingStart
    • card_view:contentPaddingEnd
  • card_view:cardUseCompatPadding 设置内边距,V21+的版本和之前的版本仍旧具有一样的计算方式
  • card_view:cardPreventConrerOverlap 在V20和之前的版本中添加内边距,这个属性为了防止内容和边角的重叠              
 <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        card_view:cardBackgroundColor="#303069"
        card_view:cardCornerRadius="10dp"
        card_view:cardPreventCornerOverlap="true"
        card_view:cardUseCompatPadding="true"
        card_view:contentPadding="10dp">
        ...
</android.support.v7.widget.CardView>
在gradle的dependencies中添加`compile 'com.android.support:cardview-v7:21.+'`


添加波纹点击效果

默认情况,CardView是不可点击的,并且没有任何的触摸反馈效果。触摸反馈动画在用户点击CardView时可以给用户以视觉上的反馈。为了实现这种行为,

你必须提供一下属性

<android.support.v7.widget.CardView
  ...
  android:clickable="true"
  android:foreground="?android:attr/selectableItemBackground">
  ...
</android.support.v7.widget.CardView>

使用android:foreground=”?android:attr/selectableItemBackground”可以使CardView点击产生波纹的效果,有触摸点向外扩散。

如果你需要给自己的内容加上padding的话,需要使用新的属性:card_view:contentPadding

相似的,如果改变CardView的背景,也需要使用新的属性:card_view:cardBackgroundColor

CardView继承至FrameLayout类,可以在一个卡片布局中一致性的显示内容,卡片可以包含圆角和阴影。CardView是一个Layout,可以布局其他View。

              

原文地址:https://www.cnblogs.com/kingsam/p/6231722.html