搞定 Material Design 相关控件2:CardVie

2017-06-12  本文已影响67人  louisgeek
compile 'com.android.support:cardview-v7:25.3.1'

app:cardBackgroundColor    背景颜色
app:cardElevation  Z轴阴影高度
app:cardMaxElevation   Z轴的阴影最大高度
app:cardUseCompatPadding  是否在不同系统中使用相同的padding值
app:cardPreventCornerOverlap   是否阻止圆角被覆盖,默认为true,为了防止卡片内容和边角的重叠
app:cardCornerRadius  圆角半径


//点击效果
android:clickable="true" //设置了点击事件可省略
android:foreground="?android:attr/selectableItemBackground"


app:contentPadding   边距
app:contentPaddingLeft   左边距
app:contentPaddingRight  右边距
app:contentPaddingTop  上边距
app:contentPaddingBottom   下边距
app:contentPaddingStart
app:contentPaddingEnd
  1. CardView设置不了与屏幕的间距, 只需要在CardView外面再套一层布局 再设置CardView的margin值
    2.api 5.0以下,使用一个兼容方案实现点击阴影效果( 另见下方第二个参考文档详解)
创建一个Z轴方向的动画,设置属性为android:stateListAnimator="@anim/xxx
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="true">
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ"
android:valueTo="@dimen/touch_raise"
android:valueType="floatType" />
</item>
<item>
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ"
android:valueTo="0dp"
android:valueType="floatType" />
</item>
</selector>
上一篇 下一篇

猜你喜欢

热点阅读