Android的各种Toast
jopen
12年前
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是在主线程的。