android - 如何使用它自己的操作按钮关闭 Snackbar?

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/

相关文章:

android - 无法从浏览器下载安装 APK

android - 如何获取Android应用程序ID?

android - 如何在没有硬件加速的情况下在 Windows 8 上为 API 21 和 19

android - Volley JsonObjectRequest Post 请求不起作用

android - transformClassesAndResourcesWithProguard

android - 可以在 Android 应用程序中以编程方式打开 Spinner 吗?

android - Android 中的十六进制颜色有时是八位数字。如何? #FFFFFF 和 #F

android - 如何将 Activity 带到前台(堆栈顶部)?

android - 如何遍历共享偏好的所有键?

android - 使用参数进行改造和 GET