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()的方法即可。例如:
private void insertEmployee(){
//调用显示Toast对话框
};
Alert
传统的方式,是dialog box的形式,需采用AlertDialog,当一个警告框弹出之后,将获得focus,必须由用户来关闭它,用于显示重要的错误或者事件,必须确保用户知晓的场景或者一些验证的信息。
最容易的警告框通过AlertDialog.Builder类来创建,可以依次调用setMessage()设置显示文本内容,setTitle(),setIcon(),以及设置下面的按钮setPositiveButton(),setNeutralButton(),setNegativeButton(), 这几个button具体和名字没有什么关联,只是表明依次的位置随左中右,并且最多显示三个按键,我们需要设置这些按键的显示内容和点击触发的处理。最后调用show()方法,将其显示。
如果我们需要先创建builder对象,然后进行配置,最后再显示,可以先使用create(),然后设置上述内容,最后调用show()。一旦show()调用,则一直等等用户的处理。
下面是一个警告框的显示例子,我们对告警框的内容依次设置:
private void AlertDialog()
{
//Alert Dialog
new AlertDialog.Builder(TestMsg.this)
.setTitle("Alerting Message")
.setMessage("Ha Ha!")
.setNegativeButton("Close", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
//do nothing - it will close on its own
}
})
.show();
};