Android 设计支持库现在包含对 Snackbar 的支持。
我使用以下代码创建了一个:
Snackbar.make(findViewById(R.id.root_layout), result, Snackbar.LENGTH_LONG)
.setAction("Dismiss", new View.OnClickListener() {
@Override
public void onClick(View v) {
}
}).show();
轻扫即可关闭 snackbar 。但是,我也想使用它自己的操作按钮(使用 setAction 函数创建)来关闭它。
但是似乎没有任何可用的功能可以做到这一点。
最佳答案
对于 Java,
.make
方法返回一个Snackbar
对象。通过将其设为 final
来保存该对象的实例。然后,在onClick()
中,调用.dismiss
:
final Snackbar snackBar = Snackbar.make(findViewById(android.R.id.content), "Snackbar Message", Snackbar.LENGTH_LONG);
snackBar.setAction("Action Message", new View.OnClickListener() {
@Override
public void onClick(View v) {
// Call your action method here
snackBar.dismiss();
}
});
snackBar.show();
对于 Kotlin,
Snackbar.make(
findViewById(android.R.id.content),
"Snackbar Message",
Snackbar.LENGTH_INDEFINITE
).setAction("Action Message") {
// Call action functions here
}.show()
https://stackoverflow.com/questions/30729312/