首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何使用Snackbar自己的Action按钮关闭Snackbar?

如何使用Snackbar自己的Action按钮关闭Snackbar?
EN

Stack Overflow用户
提问于 2015-06-09 18:22:06
回答 2查看 73.4K关注 0票数 103

Android设计支持库现在包括对Snackbar的支持。

我已经使用以下代码创建了一个:

代码语言:javascript
复制
Snackbar.make(findViewById(R.id.root_layout), result, Snackbar.LENGTH_LONG)
        .setAction("Dismiss", new View.OnClickListener() {
            @Override
            public void onClick(View v) {

            }
        }).show();

快餐店只需轻轻一扫,就可以把它打发走。但是,我也想使用它自己的操作按钮(使用setAction函数创建)来关闭它。

然而,似乎没有任何可用的函数可以做到这一点。

EN

回答 2

Stack Overflow用户

发布于 2015-09-20 19:25:07

实现一个单击操作,并让它为空。单击空的单击操作将取消snackbar。

代码语言:javascript
复制
Snackbar.make(coordinatorLayoutView, "Service Enabled", Snackbar.LENGTH_LONG)
                        .setAction("DISMISS", new View.OnClickListener() {
                            @Override
                            public void onClick(View v) {
                            }
                        })
                        .show();
票数 55
EN

Stack Overflow用户

发布于 2021-10-22 21:00:56

如果您希望将snackbar放在静态方法中,请使用此方法。

代码语言:javascript
复制
 public static  void showSnackbar(Activity activity,String msg){
        Snackbar snackBar = null;

        snackBar = Snackbar.make( ((activity.findViewById(android.R.id.content))), msg,20000);//Snackbar.LENGTH_INDEFINITE
        Snackbar finalSnackBar = snackBar;
        //
        View.OnClickListener action =  new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                finalSnackBar.dismiss();
            }
        };

        snackBar.setAction("OKAY",action )
                .setActionTextColor(activity.getApplicationContext().getResources().getColor(android.R.color.holo_red_light ));
        snackBar.show();
    }
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30729312

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档