系统默认toast:
//时间较短的toast消息
Toast.makeText(MainActivity.this, "shortToast", Toast.LENGTH_SHORT).show();
//时间较长的toast消息
Toast.makeText(MainActivity.this, "longToast", Toast.LENGTH_LONG).show();
toast的makeText方法第一个参数是当前上下文环境,第二个参数是显示的字符,第三个参数是显示的时间,可是系统定义的,也可以是数字,单位为ms。
自定义toast:
LayoutInflater inflater = getLayoutInflater();
View view = inflater.inflate(R.layout.toast,( ViewGroup)findViewById(R.id.toast));
TextView text = (TextView) view.findViewById(R.id.text);
ImageView image = (ImageView)view. findViewById(R.id.image);
text.setText("this is a viewToast");
image.setImageResource(R.drawable.ic_launcher);
Toast toast = new Toast(MainActivity.this);
toast.setView(view);
toast.setGravity(Gravity.CENTER, 0, 0);
//toast.setMargin(0.5, 0.5);
toast.setDuration(Toast.LENGTH_LONG);
toast.show();
效果如下:
首先获取LayoutInflater对象将xml文件转化为View对象,设置要显示的图片和文字,新建toast对象,添加view至toast,设置toast的位置,显示时间,最后呈现出来。
setGravity方法的第一个参数是起始位置,第二个参数是x轴的偏移量(左负右正),第三个参数是y轴偏移量(上正下负)
setMargin方法的第一个参数是x轴的相对百分比,第二个参数是y轴的相对百分比
上面两个方法都是设置位置
setDuration方法是设置显示时间的。