MD UI设计之Snackbar

本文详细介绍了Snackbar,一种由谷歌提供的通知用户的方式,适用于替代dialog和Toast。文章深入讲解了Snackbar的使用方法,包括如何实例化CoordinatorLayout,Snackbar的构造格式,以及如何通过.make()、.addCallback()、.setAction()和.show()等方法实现自定义的Snackbar通知。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Snackbar

Snackbar是谷歌的一个类似于dialog、Toast的通知用户方式,需与CoordinatorLayout配套使用。

使用方法:

①在activity中实例化CoordinatorLayout,这很重要,缺少实例化直接使用Snackbar,会报错null object。

②Snackbar的使用格式和Toast很类似,如下对比

Toast.makeText(this, "toast_text", Toast.LENGTH_SHORT).show();
Snackbar.make(mCoordinatorLayout, "snackbar_text", Snackbar.LENGTH_SHORT)
                .addCallback(new Snackbar.Callback() {
                    @Override
                    public void onDismissed(Snackbar transientBottomBar, int event) {
                        super.onDismissed(transientBottomBar, event);
                        //do something
                    }

                    @Override
                    public void onShown(Snackbar sb) {
                        super.onShown(sb);
                        //do something
                    }
                })
                .setAction("action", new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        //do something
                    }
                })
                .show();

在Snackbar的使用方法中:

.make()是必要方法,mCoordinatorLayout是CoordinatorLayout的实例化,"snackbar_text"是Snackbar所要显示的内容,Snackbar.LENGTH_SHORT是Snackbar显示的时长,这个参数有三个选择:LENGTH_SHORT、LENGTH_INDEFINITE、LENGTH_LONG。

.addCallback()不是必要方法,这个方法中可以重写两个方法,分别监听Snackbar的显示和消失,函数体内可以写自己的操作。

.setAction()不是必要方法,这个方法实现在Snackbar右侧显示一个按钮,"action"是按钮显示的内容,View.OnClickListener()监听按钮的点击事件,在重写的onClick()中实现操作。

.show()是必要方法,来使Snackbar显示出来。

上面Snackbar示例代码的效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值