Snackbar使用详解

简介: Snackbar使用详解

image.png

Snackbar是介于Toast与Dialog之间的一个控件,既可以像Toast一样自动消失,也可以像Dialog一样交互消失。


使用与Toast相似:

Snackbar.make(view, "已加入行程", Snackbar.LENGTH_SHORT).show();


第一个参数是view,任意都行,但是google官方建议传入CoordinatorLayout,一来在Snackbar显示的时候可以右滑移除,二来在Snackbar显示的时候布局会自动变



第二个参数是message,即提示的内容




第三个参数是显示的时长,Snackbar.LENGTH_SHORT 短时间显示且自动消失,Snackbar.LENGTH_LONG 长时间显示且自动消失,Snackbar.LENGTH_INDEFINITE 不消失显示 用在加了Action的情况下,在用户点击之后再消失。


高级一点的使用(改颜色,加Action,加回调):

final Snackbar mSnackbar = Snackbar.make(view, "已加入行程", Snackbar.LENGTH_INDEFINITE);
                //设置Snackbar的背景颜色
                mSnackbar.getView().setBackgroundColor(ContextCompat.getColor(MainActivity.this,R.color.colorPrimary));
                //设置Action文字的背景颜色
                mSnackbar.setActionTextColor(Color.WHITE);
                //设置Action并监听事件
                mSnackbar.setAction("知道了", new View.OnClickListener() {
                    @Override
                    public void onClick(View view) {
                        //to do something
                    }
                })
                        .show();
                //添加回调
                mSnackbar.addCallback(new Snackbar.Callback(){
                    @Override
                    public void onDismissed(Snackbar transientBottomBar, int event) {
                        super.onDismissed(transientBottomBar, event);
                        Log.i(TAG, "onDismissed(MainActivity.java:62)--->> " + "onDismissed");
                    }
                    @Override
                    public void onShown(Snackbar sb) {
                        super.onShown(sb);
                        Log.i(TAG, "onShown(MainActivity.java:68)--->> " + "onShown");
                    }
                });


Material Design设计规范:按钮最多一个,且提示文字是短文本


Github:https://github.com/yechaoa/MaterialDesign

目录
相关文章
|
前端开发 JavaScript
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
本文介绍了在React项目中实现路由懒加载的方法,使用React提供的`lazy`和`Suspense`来优化项目首次加载的速度。通过将路由组件改为懒加载的方式,可以显著减少初始包的大小,从而加快首次加载速度。文章还展示了如何使用`Suspense`组件包裹`Switch`来实现懒加载过程中的fallback效果,并提供了使用前后的加载时间对比,说明了懒加载对性能的提升作用。
1023 2
React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快
|
人工智能 自然语言处理 算法
科研论文翻译神器!BabelDOC:开源AI工具让PDF论文秒变双语对照,公式图表全保留
BabelDOC 是一款专为科学论文设计的开源AI翻译工具,采用先进的无损解析技术和智能布局识别算法,能完美保留原文格式并生成双语对照翻译。
2849 67
科研论文翻译神器!BabelDOC:开源AI工具让PDF论文秒变双语对照,公式图表全保留
|
12月前
|
存储 Java 编译器
Java 中 .length 的使用方法:深入理解 Java 数据结构中的长度获取机制
本文深入解析了 Java 中 `.length` 的使用方法及其在不同数据结构中的应用。对于数组,通过 `.length` 属性获取元素数量;字符串则使用 `.length()` 方法计算字符数;集合类如 `ArrayList` 采用 `.size()` 方法统计元素个数。此外,基本数据类型和包装类不支持长度属性。掌握这些区别,有助于开发者避免常见错误,提升代码质量。
1035 1
|
SQL 缓存 关系型数据库
MySQL高级篇——性能分析工具
MySQL的慢查询日志,用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long-query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为 10,意思是运行10秒以上(不含10秒)的语句,认为是超出了我们的最大忍耐时间值。它的主要作用是,帮助我们发现那些执行时间特别长的 SOL 查询,并且有针对性地进行优化,从而提高系统的整体效率。当我们的数据库服务器发生阻塞、运行变慢的时候,检查一下慢查询日志,找到那些慢查询,对解决问题很有帮助。
MySQL高级篇——性能分析工具
|
JavaScript 前端开发 Android开发
让Vite+Vue3项目在Android端离线打开(不需要起服务)
让Vite+Vue3项目在Android端离线打开(不需要起服务)
915 10
|
Java 开发工具 Android开发
解决flutter doctor出现Android license status unknown或cmdline-tools component is missing
解决flutter doctor出现Android license status unknown或cmdline-tools component is missing
746 4
解决flutter doctor出现Android license status unknown或cmdline-tools component is missing
|
资源调度 JavaScript iOS开发
基于vue 2.x的移动端网页弹窗插件wc-messagebox(支持Alert,Confirm,Toast,Loading)
这篇文章介绍了一个基于Vue 2.x开发的移动端网页弹窗插件`wc-messagebox`,支持Alert、Confirm、Toast和Loading功能,并且提供了如何安装、配置和使用这些弹窗功能的详细说明。
483 0
基于vue 2.x的移动端网页弹窗插件wc-messagebox(支持Alert,Confirm,Toast,Loading)
|
XML API Android开发
Android 实现APP内应用更新功能(支持Android7.0以上)
Android 实现APP内应用更新功能(支持Android7.0以上)
1603 0
|
存储 前端开发 网络架构
vue3-admin-element框架实现动态路由(根据接口返回)
vue3-admin-element框架实现动态路由(根据接口返回)
695 1

热门文章

最新文章