Android学习笔记(三十):弹出信息-Toast和告警

Android提供两个常用的消息弹出框,Toast和Alert。

Toast

Toast是一种短暂的提示框,并不需要用户交互,也不会将focus移过来,因此可以适合大多数的场景,向用户进行信息提示。在之前的学习中,已经多次使用到Toast了。

创建一个Toast很简单,使用静态方法makeText(Context context, CharSequence text | int resId, int duration),将String(或者String的ID),以及显示的时间长短(LENGTH_SHORT或者LENGTH_LONG)就可以得到一个Toast的对象。

上面是最常用的方式,但是如果要显示成其他的view,而不仅仅是text,可以使用Toast的构造函数Toast(Context context),然后使用setView()设置所显示的view,通过setDuration()设置显示时间即可。

如果我们需要显示Toast,只要调用show()的方法即可。例如:

Toast.makeText(this,"<clink, clink>", Toast.LENGTH_SHORT).show();

Alert

传统的方式,是dialog box的形式,需采用AlertDialog,当一个警告框弹出之后,将获得focus,必须由用户来关闭它,用于显示重要的错误或者事件,必须确保用户知晓的场景或者一些验证的信息。

最容易的警告框通过AlertDialog.Builder类来创建,可以依次调用setMessage()设置显示文本内容,setTitle()setIcon(),以及设置下面的按钮setPositiveButton(), setNeutralButton(), setNegativeButton(), 这几个button具体和名字没有什么关联,只是表明依次的位置随左中右,并且最多显示三个按键,我们需要设置这些按键的显示内容和点击触发的处理。最后调用show()方法,将其显示。

如果我们需要先创建builder对象,然后进行配置,最后再显示,可以先使用create(),然后设置上述内容,最后调用show()。一旦show()调用,则一直等等用户的处理。

下面是一个警告框的显示例子,我们对告警框的内容依次设置:

new AlertDialog.Builder(this)
    .setTitle("Alerting Message")
    .setMessage("eek!")
    .setNegativeButton("Close", new DialogInterface.OnClickListener() {   
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //do nothing - it will close on its own
        }
     })
   .show();

在查看参考的时候,对于AlertDialog.Builder可以设置setItems(),以及setMultiChoiceItems()setSingleChoiceItems(),下面是一个例子:

new AlertDialog.Builder(this)
    .setTitle("Select one :")
    .setSingleChoiceItems(R.array.colors, 1, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //do nothing - it will close on its own                
        }
    })
    .show();

相关链接:我的Andriod开发相关文章

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 5
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值