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

 


请多多指教撒

posted on 2016-07-28 15:20  Cela  阅读(476)  评论(0编辑  收藏  举报

导航

Copyright ©Cela
Design by Cela