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,"", 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开发相关文章

你可能感兴趣的:(读书笔记,Android)