Toast仅仅是向用户做出一个提示,提示有各种各样的方式。下面将一一道来。
1.最简单的Toast
Toast.makeText(this, "默认", Toast.LENGTH_SHORT).show();
2.自定义显示位置的Toast
Toast t;
t=Toast.makeText(this, "自定义显示位置", Toast.LENGTH_SHORT);
t.setGravity(Gravity.CENTER, 0, 0);
t.show();
3带图片的Toast
t=Toast.makeText(this, "带图片的Toast", Toast.LENGTH_SHORT);
LinearLayout ll=(LinearLayout) t.getView();
ImageView iv=new ImageView(this);
iv.setBackgroundResource(R.drawable.ic_launcher);
ll.addView(iv,0);
t.show();
4.完全自定义的Toast
t=new Toast(this);
LayoutInflater li=this.getLayoutInflater();
View vee=li.inflate(R.layout.iii, null);
t.setView(vee);
t.show();
5.来自其它线程的Toast
Handler h=new Handler();
///
new Thread(){
@Override
public void run() {
showToast();
}
}.start();
protected void showToast() {
h.post(new Runnable(){
@Override
public void run() {
Toast.makeText(getApplicationContext(), "come from other thread", Toast.LENGTH_SHORT).show();
}
});
}
来自其它线程的Toast我有一点要说明,h.post(Runnable r);这个方法里的run是在主线程的。