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提示。


    请多多指教撒

  • 相关阅读:
    Spring IOC 和 AOP
    Java 类加载机制
    面向对象程序设计思想简述
    Linux 卸载 MySQL 数据库
    Linux 安装 mysql 数据库
    Linux 配置 JDK
    Linux 指令
    去除字符串里面的某些字符替换成另一个字符
    jsp有哪些内置对象?作用分别是什么? 分别有什么方法?
    jsp有哪些动作?作用分别是什么?
  • 原文地址:https://www.cnblogs.com/cela/p/android_diary_03.html
Copyright © 2011-2022 走看看