1、使用条件
floatingActionBar是5.0推出来的新特性,要使用,必须依赖design包,这是一个条件之一;
2、布局文件中使用最好使用CoordinateLayout(协调者布局,也是design包下的),如
<?xml version="1.0" encoding="utf-8"?> <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent"
android:fitsSystemWindows="true" //这个属性和关键,如果actionbar在下面,弹出的snackBar遮住了,用着可以自动适配android :layout_height= "match_parent">
<android.support.design.widget.FloatingActionButton android:id="@+id/fab_btn" android:src="@android:drawable/sym_action_email" android:layout_gravity="bottom|right" android:layout_margin="20dp" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </android.support.design.widget.CoordinatorLayout>
3、在activity中运用;
//找到控件,设置点击事件即可,一个actionBar就完成了
final FloatingActionButton actionBar = (FloatingActionButton) findViewById(R.id.fab_btn); actionBar.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { //这个是SanckBar的点击事件 Snackbar.make(actionBar,"我被点击了",Snackbar.LENGTH_SHORT).setAction("取消", new View.OnClickListener() { @Override public void onClick(View view) { } }).show(); } });
备注:如果根布局不是协调者布局,snackBar不能够移动,当snackBar弹出的内容遮住FloatingActionBar的时候,actionBar不会自动的适配移动;