FloatingActionButton 悬浮按钮
在App开发中,面对有悬浮按钮的需求,以前我的解决方式都是帧布局FrameLayout中覆盖一个按钮View,这样这个按钮就会一直在界面中,有一次遇到悬浮按钮类似卫星选项的需求,使用自定义的View写了好久,很麻烦。最近在学习Android 的Material Design的组件时,看到有FloatingActionButton悬浮按钮控件。真是觉得太方便了,所以学习和了解一下,总结记录在此。
FloatingActionButton 特性
我了解了FloatingActionButton后,觉得官方的这个悬浮按钮要有很多的特性是以前没有的
- 自带阴影效果,按钮有质感设计,会有阴影效果,同时在点击的时候的阴影会加深
- 可以实现点击水波纹效果
- 灵活,效果拓展方便
使用
对于兼容性开发来说,我们同样需要提供两个layout文件:layout、layout-v21
在低版本的API上FloatingActionButton 的阴影会有一个贴在边框的效果问题,我们可以使用不同的layout对应不同的版本。
对于阴影轮廓的处理 我们需要指定不同的布局文件,
- 编辑xml文件
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="80dp"
android:layout_marginRight="30dp"
android:layout_marginBottom="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent"
/>
一些属性
属性 | 说明 |
---|---|
ripperColor | 设置点击时的背景颜色 |
backgroundTine | 设置按钮的背景颜色 |
elevation | 默认状态下按钮的阴影大小 |
fabsize | 设置按钮的大小,默认两个大小 normal和mini 对应的大小为56dp和40dp |
src | 设置按钮的图标,按照官方建议图标大小为24dpi |
app:layout_anchorGravity | 设置FAB相对锚点的位置,值有 bottom、center、right、left、top等。 |