SnackBar
snack:小吃,点心,快餐
btOpenSnackBar = (Button) findViewById(R.id.bt_openSnackBar);
btOpenSnackBar.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Snackbar.make(v, "确定开启我?", Snackbar.LENGTH_LONG).setAction("确定", new View.OnClickListener() {
@Override
public void onClick(View v) {
MyToast.showShort(TestActivity.this, "开启啦!");
}
}).show();
}
效果图:
如果不点击“确定”,2秒后是会自动消失的
FloatingActionButton
一个圆形Button,继承自Button,所以Button的属性它都可以用
Demo:
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_marginBottom="20dp"
android:elevation="10dp"
android:onClick="click"
android:src="@drawable/backup"
app:borderWidth="5dp"
app:fabSize="mini"
app:pressedTranslationZ="20dp"
app:rippleColor="@android:color/white" />
<!-- android:backgroundTint="@android:color/black"-->
- app:backgroundTint:指定默认的背景颜色
- app:rippleColor:指定点击时的背景颜色
- app:borderWidth :border的宽度
- app:fabSize:FloatingActionButton的大小,可选normal|mini
- app:elevation :该空间的一个海拔的高度
- app:pressedTranslationZ:按下去时的z轴的便宜
- android:src:也就是里面的那个图案了
效果图:
CoordinatorLayout
coordinator:协调者
作用:顾名思义,也就是让它的子view更好的协作。
现在我们将上面的FloatingActionBar包裹到里面看看
<android.support.design.widget.CoordinatorLayout
android:layout_width="match_parent"
android:layout_height="100dp"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true">
<android.support.design.widget.FloatingActionButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:elevation="10dp"
android:layout_margin="0dp"
android:onClick="click"
android:src="@drawable/backup"
app:borderWidth="5dp"
app:fabSize="mini"
android:layout_gravity="right|bottom"
app:pressedTranslationZ="20dp"
app:rippleColor="@android:color/white" />
<!-- android:backgroundTint="@android:color/black"-->
</android.support.design.widget.CoordinatorLayout>
效果图:
可见,当SnackBar显示的时候,FloatingActionBar自动往上移动了