引言
Snackbar是design包中的一个控件,它与我们常用的Toast的功能类似,而且比toast更强大。
1.普通的SnackBar
效果图:
Snackbar.make(view,"我是普通的Snackbar",Snackbar.LENGTH_SHORT).show();
2.右侧带按钮的SnackBar
效果图:
Snackbar.make(view,"还有两天就要回家过年了",Snackbar.LENGTH_LONG)
.setAction("右侧按钮", new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(SnackBarActivity.this, "点击了Snackbar右侧的按钮", Toast.LENGTH_SHORT).show();
}
}).show();
3.修改SnackBar的背景和文字颜色
效果图:
Snackbar snackbar = Snackbar.make(view, "还有两天就要回家过年了", Snackbar.LENGTH_LONG)
.setAction("右侧按钮", new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(SnackBarActivity.this, "点击了Snackbar右侧的按钮", Toast.LENGTH_SHORT).show();
}
});
//获取Snackbar的view
View snackbarView = snackbar.getView();
snackbarView.setBackgroundColor(Color.parseColor("#1E8AE8"));
//改变文字颜色
((TextView) snackbarView.findViewById(R.id.snackbar_text)).setTextColor(Color.RED);
//改变右侧按钮的字体颜色
Button rightBtn = ((Button) snackbarView.findViewById(R.id.snackbar_action));
rightBtn.setTextColor(Color.RED);
snackbar.show();
SnackBar还有一些其他方法,这里就不一一阐述了。
4.结合CoordinatorLayout使用
效果图:
我们可以发现结合CoordinatorLayout和FloatingActionButton使用之后,会有一些比较多大效果。
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.gjj.gd.materialdesign_v7.snackbar.SnackBarActivity">
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="20dp"
android:layout_gravity="bottom|right"/>
</android.support.design.widget.CoordinatorLayout>
网友评论