zoukankan      html  css  js  c++  java
  • Android日记:提醒/通知,Snackbar、Toast、Dialog

    首先是SnackBar

    • 优点
    1. SnackBar是个神奇的东西(相对当时而言)
    2. 拥有与以往不同的通知提醒方式,从限制性窗口提醒(老旧的Android不支持触击窗口外忽略操作)
    3. 具有比普通的Toast更明显的通知效果与比Dialog的更方便的交互
    4. 更快捷的的交互(就是向拖走啦)
    • 缺点
    1. 仅做提醒用,不可作 限制用户必须选出操作
    2. 在全面屏设备上操作并不友善(重力所趋)
    3. 大屏幕设备单指滑动显然更不方便

    上图:

    代码:

    Snackbar.make(view, "正在刷新...",Snackbar.LENGTH_LONG)//带按钮的Snackbar通知
            .setAction("取消", new View.OnClickListener(){
             //监听Snackbar的按钮事件 
                    @Override
                    public void onClick(View v) {
                Snackbar.make(view, "data deleted",Snackbar.LENGTH_LONG)
                   .setAction("Undo", null).show();//不带按钮的Snackbar通知
                     }
                   })
            .show();

    然后是Toast.

    • Toast通知通知从最早的Android一直用到现在。
    • 具有消息提示界面可自定义特性

    上图:

    代码:

     //按钮引用,可忽略
        public void btn1_click(View view){
            toast1();
        }
        public void btn2_click(View view){
            toast2();
        }
        //自定义Layout界面通知
        public void toast1(){
            Toast tongzhi = new Toast(this);//实例对象
            LayoutInflater tpage = this.getLayoutInflater();
            View vw = tpage.inflate(R.layout.toast1, null);//实例页面
            tongzhi.setGravity(Gravity.BOTTOM, 0, 0);//制定位置
            tongzhi.setView(vw);//制定页面
            tongzhi.show();
        }
        //普通通知
        public void toast2(){
            Toast.makeText(this, "正在下载", Toast.LENGTH_SHORT)//LENGTH_SHORT/LENGTH_LONG长短设置
         .show();
        }

     


    最后是Dialog.

    • Dialog通知也是从最早的Android一直用到现在。
    • 最基本的交互方式
    • 具有独有的限定型通知(限制用户必须做出选择)

     上图:

    代码:

    public void btn1_click(View view){
            dialog1();
        }
    public void dialog1(){
        AlertDialog.Builder builder = new AlertDialog.Builder(this);//实例对象
        builder.setTitle("标题")//设定标题
           .setMessage("详细消息blablabla")//设定消息文本
           .setPositiveButton("确认", new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialog, 
                   int which) {//监听"确认"事件
                   }
           })
           .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                   @Override
                   public void onClick(DialogInterface dialog,
                    int which) {//监听"取消"事件
                   }
            })
           .show();
           }

    为什么有张是横屏的,因为:

     

     中间触屏坏了...

    明天上图。

    过几天写几个花样TOAST提示。


    请多多指教撒

  • 相关阅读:
    随机森林算法参数调优
    BAYES和朴素BAYES
    阿里云 金融接口 token PHP
    PHP mysql 按时间分组 表格table 跨度 rowspan
    MySql按周,按月,按日分组统计数据
    PHP 获取今日、昨日、本周、上周、本月的等等常用的起始时间戳和结束时间戳的时间处理类
    thinkphp5 tp5 会话控制 session 登录 退出 检查检验登录 判断是否应该跳转到上次url
    微信 模板消息
    php 腾讯 地图 api 计算 坐标 两点 距离 微信 网页 WebService API
    php添加http头禁止浏览器缓存
  • 原文地址:https://www.cnblogs.com/cela/p/android_diary_03.html
Copyright © 2011-2022 走看看