FAB是Android Design Support Library库中带有阴影的圆形button,他的使用非常简单。一般使用FAB时需要确定其位置,所以可以在外部套用Framelayout。如:
<FrameLayout
android:id="@+id/rootLayout"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fabBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="bottom|right"
android:src="@drawable/ic_plus"
app:fabSize="normal" />
</FrameLayout>
不过我们一般都是和CoordinatorLayout结合使用。CoordinatorLayout是加强型FrameLayout,它实现了和FAB的联动。
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/cl_root"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="right|bottom"
android:layout_marginBottom="8dp"
android:layout_marginRight="8dp"
android:src="@mipmap/ic_plus"/>
</android.support.design.widget.CoordinatorLayout>
然后在代码中给FAB设置监听即可,当然也可以结合Snackbar使用:
fab_button= (FloatingActionButton) findViewById(R.id.fab_button);
fab_button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar.make(cl_root,R.string.snake_show_text,Snackbar.LENGTH_SHORT)
.setAction(R.string.snake_action_text, new View.OnClickListener() {
@Override
public void onClick(View v) {
// do something
finish();
}
}).show();
}
});
这样就可以完成悬浮按钮的操作了。
总体来说FAB是Android Design Support Library中最简单的控件了,但是他的作用却还是很大的。我们可以通过自定义他的布局来实现我们想要的悬浮按钮。