zoukankan      html  css  js  c++  java
  • Snackbar学习笔记

    官方推荐使用Snackbar代替Toast

     
    Paste_Image.png

    Snackbar使用其实就是一句话,跟toast很相似:

    Snackbar.make(view,"消息已发出",Snackbar.LENGTH_SHORT).show();
    

    但是有几个注意点,make方法的第一个参数是一个view,任何一个view都可以,但是官方推荐使用CoordinatorLayout,有俩个好处:
    1.用户可以滑动(右滑)消除掉snackbar。
    2.当snackbar出现的时候,布局会移动一些UI元素,比如右下角的悬浮按钮会自动上移。

    view不一定直接就是CoordinatorLayout,该方法触发的时候,会一级一级的向上找,有没有CoordinatorLayout,如果找到顶层window decor's content view还没找到停止找,所以,还是建议直接使用CoordinatorLayout来当做这个参数,而不用系统浪费力气去找,官网是这样说的。

    如果你的布局已经写好了,没有CoordinatorLayout,那么可以在最外面一层镶嵌上CoordinatorLayout,CoordinatorLayout就是相当于一个超级FrameLayout。(我发现一些5.0的手机,比如华为EMUI3.0,由于系统定制原因,是不支持状态栏变色的,但是如果你使用CoordinatorLayout就可以了)

    snackbar显示是一个接一个的,不能同时显示很多。说到这里,我想起了一个问题,就是toast如果同时或者短时间内显示很多个toast,界面会一直跳啊跳的,感觉toast消失不掉,神烦!其实有一个方法,就是使用application来当做context,那么就会显示最后一个toast,只显示一个,这个是从其他地方看到的技巧。

    下面是如何加那个'按钮'(Action),即图片上的undo。

     
    Paste_Image.png

    也很简单,几句代码,看了就明白了:

    public class MyUndoListener implements View.OnClickListener{
    
        @Override
        public void onClick(View v) {
    
            // Code to undo the user's last action
        }
    }
    
    Snackbar mySnackbar = Snackbar.make(findViewById(R.id.myCoordinatorLayout), R.string.email_archived,Snackbar.LENGTH_SHORT);
    mySnackbar.setAction(R.string.undo_string, new MyUndoListener());
    mySnackbar.show();
    

    官网重要的几点都给列出来了,其他可以查阅API,比如改'按钮'(action)颜色

     
    Paste_Image.png

    如果有什么写的不对的请指出

    Android

    小礼物走一走,来简书关注我

    赞赏支持


    作者:爵小友
    链接:http://www.jianshu.com/p/45ad070dbfec
    來源:简书
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
  • 相关阅读:
    C#根据当前时间获取,本周,本月,本季度等时间段
    C#List Dictionary 的初始化方式
    C#List Dictionary 的初始化方式
    DevExpress PivotControl关联ChartControl
    DevExpress PivotControl关联ChartControl
    c#中怎样判断一个程序是否正在运行?
    c#中怎样判断一个程序是否正在运行?
    多线程(五)实战使用并发工具类CyclicBarrier实现并发测试
    多线程(五)实战使用并发工具类CyclicBarrier实现并发测试
    MongoDB查询大于某个时间,小于某个时间,在某一段时间范围
  • 原文地址:https://www.cnblogs.com/qqhfeng/p/8063825.html
Copyright © 2011-2022 走看看