android中给用户提醒的三种方式

一.Toast

// 弹出吐司
  Toast.makeText(getApplicationContext(), "吐司", 0).show();

二.对话框:
   1.确定取消对话框

 public void click1(View view){
       //对话框的创建器
       AlertDialog.Builder builder = new Builder(this);
       builder.setTitle("我是对话框");
       builder.setMessage("对话框显示的内容");
       builder.setPositiveButton("确定", new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
         Toast.makeText(getApplicationContext(), "确定被点击了", 0).show();
        }
       });
       builder.setNegativeButton("取消", new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
         //什么都不写默认实现就是关闭掉对话框
        }
       });
       builder.setCancelable(false);
       builder.create().show();
     }

2.单选对话框

   public void click2(View view){
     //对话框的创建器
     AlertDialog.Builder builder = new Builder(this);
     builder.setTitle("请选择您的性别");
     final String[] items = {"男","女","未知"};
     builder.setSingleChoiceItems(items, 2, new OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
       Toast.makeText(getApplicationContext(), "您的性别:"+items[which], 0).show();
       dialog.dismiss();
      }
     });
     builder.create().show();
    }

3.多选对话框

 public void click3(View view){
     //对话框的创建器
     AlertDialog.Builder builder = new Builder(this);
     builder.setTitle("请选择你最爱吃的水果");
     final String[] items={"苹果","梨","菠萝","香蕉","黄瓜"};
     final boolean[] result =new boolean[]{true,false,true,false,false};
     builder.setMultiChoiceItems(items, result, new OnMultiChoiceClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which, boolean isChecked) {
       Toast.makeText(getApplicationContext(), items[which]+isChecked, 0).show();
       result[which] = isChecked;
      }
     });
     builder.setPositiveButton("提交", new OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
       StringBuffer sb = new StringBuffer();
       for(int i=0;i<result.length;i++){
        if(result[i]){
         sb.append(items[i]+",");
        }
       }
       Toast.makeText(getApplicationContext(), "您选中了,"+sb.toString(), 0).show();
      }
     });
     builder.show();
    }

4.进度条对话框

public void click4(View view){
    ProgressDialog pd = new ProgressDialog(this);
    pd.setTitle("提醒");
    pd.setMessage("正在加载数据...请稍等。");
    pd.show();
   }

5.带进度的进度条对话框

public void click5(View view){
    final ProgressDialog pd = new ProgressDialog(this);
    pd.setTitle("提醒");
    pd.setProgressStyle(ProgressDialog.STYLE_HORIZONTAL);
    pd.setMax(100);
    pd.setMessage("正在加载数据...请稍等。");
    pd.show();
    new Thread(){
     public void run() {
      for(int i = 0;i<100;i++){
       try {
        Thread.sleep(40);
       } catch (InterruptedException e) {
        e.printStackTrace();
       }
       pd.setProgress(i);
      }
      pd.dismiss();
     };
    }.start();
   }

三.notification----Android手机通知栏

//3.0以前的版本需要用过时的方法才行,否则报错
  public void click(View view){
   NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
   Notification notification = new Notification(R.drawable.notification, "我是一个通知", System.currentTimeMillis());
   notification.flags = Notification.FLAG_AUTO_CANCEL;//点击后自动清除通知(Notification.FLAG_NO_CLEAR无法清除通知等等等)
   Intent intent = new Intent();
   intent.setAction(Intent.ACTION_CALL);
   intent.setData(Uri.parse("tel:119"));//向119拨打电话,要增加打电话的权限
   PendingIntent contentIntent = PendingIntent.getActivity(this, 0, intent, 0);
   notification.setLatestEventInfo(this, "我是标题", "我是内容", contentIntent);
   nm.notify(0, notification);
  }
  /**
   * 新版本的notification
   * @param view
   */
  @SuppressLint("NewApi")
  public void click2(View view){
    Notification noti = new Notification.Builder(this)
          .setContentTitle("我是标题")
          .setContentText("我是内容")
          .setSmallIcon(R.drawable.notification)
          .setLargeIcon(BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher))
          .build();
    NotificationManager nm = (NotificationManager) getSystemService(NOTIFICATION_SERVICE);
    nm.notify(0, noti);
  }
时间: 2024-10-30 22:42:32

android中给用户提醒的三种方式的相关文章

android中填充界面布局的三种方式

改变原来界面布局的三种方式: 1.第一种方式: LayoutInflater li = LayoutInflater.from(this); 具体代码: public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activ

Android中设置文本颜色的三种方法及颜色大全

原文:Android中设置文本颜色的三种方法及颜色大全 源代码下载地址:http://www.zuidaima.com/share/1550463694572544.htm 1.利于系统自带的颜色类 如TextView1.setTextColor(Android.graphics.Color.RED); 2.数字颜色表示法 TextView1.setTextColor(0xffff00ff); 3.自定义颜色 TextView1.setTextColor(this.getResources().

cocos2d 中加入显示文字的三种方式(CCLabelTTF 、CCLabelBMFont 和CCLabelAtlas)

在 cocos2d 中有三个类能够在层或精灵中加入文字: CCLabelTTF CCLabelBMFont CCLabelAtlas      CCLabelTTF CCLabelTTF 每次调用 setString (即改变文字)的时候,一个新的OPENGL 纹理将会被创建..这意味着setString 和创建一个新的标签一样慢. 所以,当你须要频繁的更新它们的时候,尽可能的不用去使用标签对象.  而应该使用CCLabelAtlas或者是CCLabelBMFont. OK, 看下它的用法 CC

JSP中设置Session有效时间的三种方式

JSP中设置Session有效时间的三种方式 2010-08-03 10:02:49|  分类: Java Web|举报|字号 订阅 (1)在主页面或者公共页面中加入: HttpSession session=request.getSession(true); session.setMaxInactiveInterval(900);参数900单位是秒,即在没有活动15分钟后,session将失效.这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端.所以如果是在调试程序,应该

.net 中dapper实现事务的三种方式总结

.net 中实现事务查询的三种方式 1.TransactionScope  通过创建TransactionScope  对象然后包裹connection对象执行相关查询操作,完成 此种方式可以用于分布式事务操作,当链接不同数据库时,通过简单配置可以实现不同数据库的事务操作,当使用单机查询时(即只有一个数据库并且与应用服务器在同一台电脑时,不需要做额外配置) 2.通过connection 对象 BeginTransaction方法 创建,然后执行查询方法是都带上 transaction对象来实现

spring中创建bean对象的三种方式以及作用范围

时间:2020/02/02 一.在spring的xml配置文件中创建bean对象的三种方式: 1.使用默认构造函数创建.在spring的配置文件中使用bean标签,配以id和class属性之后,且没有其他属性和标签时采用的就是默认构造函数创建bean对象,此时如果类中没有默认构造函数函数,则对象无法创建. <bean id="one" class="sdnu.machi.one"></bean> 如果one.class中没有默认构造函数则会报

OpenCV4Android释疑: 透析Android以JNI调OpenCV的三种方式(让OpenCVManager永不困扰)

前文曾具体探讨了关于OpenCV的使用,原本以为天下已太平.但不断有人反应依旧配不好OpenCV4Android,不能得心应手的在Android上使用OpenCV.大量的精力都浪费在摸索配置上.尤其是OpenCVManager诞生之后.更让人无语.大家第一个反应就是怎样才干不安装OpenCVManager.由于要多安装这个东西对客户来说体验太不好了. 咱家昨夜研究至两点,今早七点起床.最终把头绪理清了. 以下咱家以之前做过的一个基于OpenCV2.3.1.android通过jni调用opencv

Linux中设置服务自启动的三种方式

有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务 主要用三种方式进行这一操作: ln -s                       在/etc/rc.d/rc*.d目录中建立/etc/init.d/服务的软链接(*代表0-6七个运行级别之一) chkonfig                命令行运行级别设置 ntsysv                   伪图形运行级别设置 注意:1.这三种方式主要用于以redhat为基础的发行版 2.如果还不知道运行级别是什么,那么最

Java中 实现多线程成的三种方式(继承,实现,匿名内部类)

------------------------------------------------------------------------------------------------------------ /** 第一种方式:继承Thread类 *             1. 定义一个类,然后让该类继承Thread类 *             2. 重写run方法 *             3. 创建定义的这个类的对象 *             4. 启动线程 */ //继承