Android FloatingActionButton控件

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chennai1101/article/details/82349200

相关文章
Android Snackbar控件
Android FloatingActionButton控件
Android Toolbar控件
Android AppBarLayout控件
Android CollapsingToolbarLayout控件

1. FloatingActionButton类

FloatingActionButton是5.0版本出现的控件,显示一个圆形悬浮按钮。需要添加Design依赖库,并且使用Theme.AppCompat主题。

2. FloatingActionButton配置

FloatingActionButton的配置

  • android:src,显示的图标,最好是24dp的
  • app:backgroundTint:正常的背景颜色
  • app:rippleColor,按下时的背景颜色
  • app:elevation,正常的阴影大小(默认6dp)
  • app:pressedTranslationZ,按下时的阴影大小(默认12dp)
  • app:borderWidth,边框宽度
  • app:layout_anchor,设置FAB的锚点,即以哪个控件为参照设置位置
  • app:layout_anchorGravity,FAB相对于锚点的位置
  • app:fabSize,normal或mini(对应56dp和40dp)

配置文件

<android.support.design.widget.FloatingActionButton
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/icon_qq"
    app:rippleColor="#ffe5e5e5"
    app:backgroundTint="#ffffffff"
    app:elevation="6dp"
    app:pressedTranslationZ="6dp"
    app:fabSize="mini"
    app:borderWidth="0dp"
    android:layout_gravity="right|bottom"
    android:layout_margin="20dp" />

效果如下
这里写图片描述

3. Snackbar交互

FloatingActionButton如果没有与Snackbar关联,容易被Snackbar覆盖。
设置FloatingActionButton在CoordinatorLayout内部,同时将这个CoordinatorLayout作为View参数传给Snackbar的make()方法。

效果如下
这里写图片描述

查看了一下Snackbar的源码,如果父视图是CoordinatorLayout,创建Snackbar的时候,会设置LayoutParams的insetEdge属性。

final CoordinatorLayout.LayoutParams clp = (CoordinatorLayout.LayoutParams) lp;

// Also set the inset edge so that views can dodge the bar correctly
clp.insetEdge = Gravity.BOTTOM;

猜你喜欢

转载自blog.csdn.net/chennai1101/article/details/82349200