ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
从Android Support Library 22.2.0开始提供的这个控件。 和Toast效果类似,本篇只介绍使用方法。 #### 引入 在使用之前,需要先引入com.android.support:design:x.x.x,版本号根据自己需要修改。比如我的 ~~~ implementation fileTree(dir: 'libs', include: ['*.jar']) implementation 'com.android.support:appcompat-v7:26.1.0' compile 'com.android.support:design:26.1.0' implementation 'com.android.support.constraint:constraint-layout:1.0.2' testImplementation 'junit:junit:4.12' androidTestImplementation 'com.android.support.test:runner:1.0.1' androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1' ~~~ #### 常用方式 ~~~ Snackbar.make(view, "就是显示一行文本,和Toast差不多", Snackbar.LENGTH_SHORT).show(); ~~~ 第一个参数是view,哪个都行,比如把跟布局设置一个id,然后得到一个view。 #### 添加点击事件 ~~~ Snackbar.make(view, "这里是一个长长长长长长长长长长长长长长长长的文本", Snackbar.LENGTH_SHORT) .setActionTextColor(Color.WHITE) //可以不设置颜色,默认是红色的 .setAction("可以点击的文本内容", new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "toast提示", Toast.LENGTH_SHORT).show(); } }) .show(); ~~~ 在提示文字后面,有个简短文本,点击后触发事件,比如有个删除操作,可以在短时间内撤回,就需要这种场景。 默认情况下可以点击的文字是红色的,可以修改颜色。 提示文字比较长的时候,看起来不是那么协调。 #### 添加回调事件 ~~~ Snackbar.make(view, "正文", Snackbar.LENGTH_SHORT) .setActionTextColor(Color.WHITE) .addCallback(new Snackbar.Callback() { @Override public void onDismissed(Snackbar snackbar, int event) { super.onDismissed(snackbar, event); Toast.makeText(MainActivity.this, "消失回调", Toast.LENGTH_SHORT).show(); } @Override public void onShown(Snackbar snackbar) { super.onShown(snackbar); Toast.makeText(MainActivity.this, "显示回调", Toast.LENGTH_SHORT).show(); } }) .setAction("点击这个能弹出toast", new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(MainActivity.this, "Toast", Toast.LENGTH_SHORT).show(); } }) .show(); ~~~ 使用场景,比如用户完成了一个操作,给出了友好提示,提示结束之后呢就需要跳转到新的页面,这时候就需要有个提示层消失之后的触发。 其中addCallback方法和removeCallback对应,一个添加一个移除。旧版本的setCallback已经过时。 其他简单使用可以点击[这里](http://android.jobbole.com/83726/)。