效果图
关键代码
val btn = findViewById<Button>(R.id.btn)
btn.setOnClickListener { view ->
Snackbar.make(view, "Snackbar测试", Snackbar.LENGTH_LONG)
.setAction("点击") {
Toast.makeText(this, "Toast", Toast.LENGTH_SHORT).show()
}
.show()
}
snackbar
是 Android 5.0新增的控件,用来代替Toast
,二者主要区别是:snackbar
可以滑动退出,也可以处理用户点击事件。在snackbar
创建时设置setAction
方法,该方法内处理用户的点击操作。
我们看到上面的效果图中,snackbar
跟左右和下面都有一定的间隔,如果要设置跟左右都没有间隔,可以设置snackbarStyle
属性,在res/values
目录下新增代码:
<item name="snackbarStyle">@style/Widget.MaterialComponents.Snackbar.FullWidth</item>
效果图如下:
设置该属性后,snackbar
从底部弹出,而且跟左右两侧没有空隙,根据需要采用不同的效果。