CardView: android-support-v7-cardView.jar
1.特性
1) 边框圆角效果
5.x 图片和布局都可以很好的呈现圆角效果,图片也变圆角了
4.x 图不能变成圆角,如果要做成5.x一样的效果:通过加载图片的时候自己去处理成圆角
2)阴影效果
3)5.x上有Ripple水波纹效果(低版本需要自己做自定义的)
android:foreground="?attr/selectableItemBackground"
android:clickable="true"
4)5.x实现按下的互动效果---下沉,松开弹起---Z轴位移效果 (低版本也需要自己自定义做)
5)可以设置内容的内边距
app:contentPadding="5dp"
同一套布局的兼容性开发:(5.x上面不需要设置app:contentPadding="5dp",而4.x上面不需要设置)
layout 低版本
layout-v21 高版本
android:stateListAnimator="@anim/z_translation"
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:state_pressed="true">
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ"
android:valueTo="15dp"
android:valueType="floatType"
></objectAnimator>
</item>
<item
>
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ"
android:valueTo="0dp"
android:valueType="floatType"
></objectAnimator>
</item>
</selector>
细节:
5.x上面,边距阴影比较小,需要手动添加边距16dp
4.x上面,边距太大, 手动修改边距0dp(原因:兼容包里面设置阴影效果自动设置了margin来处理16dp)
<CardView
app:cardCornerRadius="10dp" 圆角(半径值越大圆角就越明显)
app:cardElevation="10dp" 阴影效果 (值越大阴影效果越明显)
>
</CardView>
-----------------------------------MaterialDesign_FloatingActionButton----------------------------------------
FloatingActionButton :悬浮动作按钮
特性:1.阴影效果--景深(反馈动作:按下去阴影加深elevation)
2.水波纹效果
//3.其他效果--自己做
兼容性注意:
需要写两个layout/layout-v21
layout-v21:添加layout_margin="16dp"
layout: 添加layout_margin="0dp"
app:backgroundTint="?attr/colorPrimary"背景着色
app:elevation="10dp"阴影深度
android:layout_margin="0dp"
app:fabSize="mini"大小:normal,mini
<!--悬挂在哪个view上面,这个属性只用在coordiantorlayout中才有用-->
<!--app:layout_anchor="@id/img"-->
<!--悬挂的相对位置,方式,以中心点为基准-->
<!--app:layout_anchorGravity="bottom|right"-->
<!--由于父亲是imageview,因此用法也一样-->
<!--android:src="@drawable/pic3"-->
<!--设置背景颜色,默认为系统theme中的颜色-->
<!--app:backgroundTint="#77098765"-->
<!--设置混合模式,没用试出来什么效果-->
<!--app:backgroundTintMode="src_over"-->
<!--该属性尤为重要。假设不设置0dp。那么在4.1的sdk上FAB会显示为正方形。并且在5.0以后的sdk没有阴影效果。所以设置为borderWidth="0dp"-->
<!--app:borderWidth="0dp"-->
<!--设置默认状态下阴影的大小-->
<!--app:elevation="100dp"-->
<!--设置按下后阴影的大小-->
<!--app:pressedTranslationZ="10dp"-->
<!--设置FAB的大小,默认为normal,还有mini尺寸-->
<!--app:fabSize="mini"-->
<!--设置点击时的北京颜色-->
<!--app:rippleColor="#FFCA2121"-->
<!--行为,只有配合CoordinatorLayout使用才有效,可以自定义-->
<!--app:layout_behavior=""-->
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="true"
android:scaleType="fitXY"
android:src="@drawable/pic3"
app:backgroundTint="#098765"
app:backgroundTintMode="src_over"
app:borderWidth="0dp"
app:elevation="2dp"
app:fabSize="normal"
app:layout_anchor="@id/img"
app:layout_anchorGravity="bottom|right"
app:pressedTranslationZ="10dp"
app:rippleColor="#FFCA2121"
app:layout_behavior=""
/>