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是在主线程的。