android 自定义 snackbar,Android Snackbar 使用

本文介绍了如何在Android中自定义和使用Snackbar,包括设置操作、显示时间以及回调监听。Snackbar提供了一种轻量级的反馈方式,通常显示在屏幕底部,可以显示一个操作并设定显示时间,如LENGTH_INDEFINITE、LENGTH_LONG和LENGTH_SHORT。通过make方法创建Snackbar,设置View、消息文本和显示时长,还可以添加点击事件和回调函数来处理显示和消失事件。

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

Snackbar 提供操作的轻量级反馈。显示在手机底部或者大屏幕的左下,Snackbar显示在所有界面的最上层,并且只显示一次。

Snackbar 可以包含一个操作,使用 setAction(CharSequence, android.view.View.onClickListener) 设置。 Snackbar 可以通过 setCallback(Callback) 来设置显示和消失的回调 Snackbar.Callback

显示时间长短的常量

int LENGTH_INDEFINITE 没有操作不消失

int LENGTH_LONG 显示长时间

int LENGTH_SHORT 显示短时间

Android Support Library (22.2.1) 起才支持 LENGTH_INDEFINITE。如果使用该属性, Snackbar 会一直显示,直到调用 dismiss() 或者下一个 Snackbar 出现。

make 方法的第一个参数表示 Snackbar 会寻找该 View 来hold Snackbar 的View。第二个参数为需要显示的字符串。第三个参数为显示时间,使用以上三个常量。

Snackbar.make(mLayout, R.string.permission_camera_rationale,

Snackbar.LENGTH_INDEFINITE)

.setAction(R.string.ok, new View.OnClickListener() {

@Override

public void onClick(View view) {

ActivityCompat.requestPermissions(MainActivity.this,

new String[]{Manifest.permission.CAMERA},

REQUEST_CAMERA);

}

})

.setCallback(new Snackbar.Callback() {

@Override

public void onDismissed(Snackbar snackbar, int event) {

super.onDismissed(snackbar, event);

Toast.makeText(getApplicationContext(), "onDismissed", Toast.LENGTH_LONG).show();

}

@Override

public void onShown(Snackbar snackbar) {

super.onShown(snackbar);

Toast.makeText(getApplicationContext(), "onShown", Toast.LENGTH_LONG).show();

}

})

.show();

综上,Snackbar 作为带响应的通知来说能带来不错的体验。相较于 Toast 来说,Snackbar 能够提供一种操作,对于修改内容来说,提供短时间内的撤销操作应该是不错的。其他能够想到的一些操作,比如撤销邮件的发送,撤销消息的发送,等等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值