(适合有一定了解的童鞋,如果连android中的Toast是什么都不知道。。好吧,那算了)
1 简单的使用
Toast.makeText(context, "简单的使用", Toast.LENGTH_SHORT).show();
2 创建并主动 停止
Toast toast = Toast.makeText(this, "hi", Toast.LENGTH_LONG);
toast.show();
//停止
toast.cancel();
3 在特别的位置放置自己的Toast
Toast toast = Toast.makeText(this, "hi", Toast.LENGTH_LONG);
toast.setGravity(toast.getGravity(), 0, 300);
// 还有这样 toast.setGravity(Gravity.CENTER, 0, 0);
toast.show();
4 带图片的toast
Toast toast = Toast.makeText(this, "hi", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
ImageView iv = new ImageView(getApplicationContext());
iv.setImageDrawable(getResources().getDrawable(R.drawable.icon));
toast.setView(iv);
toast.show();
如果想插入其他的效果就和4中的方法一样,不过把imageview改成其他的控件,如linearlayout等 实现上面的效果 见网上还有这样的用法,如下(效果等同于上面的方法,用哪一种都能达到自己想要的效果)
Toast toast = Toast.makeText(this, "hi", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER, 0, 0);
LinearLayout ll = (LinearLayout) toast.getView();
ImageView iv = new ImageView(getApplicationContext());
iv.setImageDrawable(getResources().getDrawable(R.drawable.icon));
ll.addView(iv,new LinearLayout.LayoutParams(50, 50, 50)); t
oast.show();
//上面toast的用法已经可以应对大多数的开发任务,没什么难度的,所以么有注释,见谅(无源码)
5开发中有过的小错误
1)在别的线程中UI主线程弹出Toast报错
在UI的handler中弹出Toast
2)Toast toast = Toast.makeText(this, "hi", Toast.LENGTH_LONG);
中的:“hi”位置不能为Integer,看起来很简单,但是自己和同事都出现过这样的问题