Android的各种Toast

Toast仅仅是向用户做出一个提示,提示有各种各样的方式。下面将一一道来。

1.最简单的Toast

[java] view plain copy
 
  1. Toast.makeText(this, "默认", Toast.LENGTH_SHORT).show();  


2.自定义显示位置的Toast

[java] view plain copy
 
  1. Toast t;  
  2. t=Toast.makeText(this, "自定义显示位置", Toast.LENGTH_SHORT);  
  3.               
  4.             t.setGravity(Gravity.CENTER, 0, 0);  
  5.             t.show();  


3带图片的Toast

[java] view plain copy
 
  1. t=Toast.makeText(this, "带图片的Toast", Toast.LENGTH_SHORT);  
  2.             LinearLayout ll=(LinearLayout) t.getView();  
  3.             ImageView iv=new ImageView(this);  
  4.             iv.setBackgroundResource(R.drawable.ic_launcher);  
  5.             ll.addView(iv,0);  
  6.             t.show();  


4.完全自定义的Toast

[java] view plain copy
 
  1. t=new Toast(this);  
  2.             LayoutInflater li=this.getLayoutInflater();  
  3.             View vee=li.inflate(R.layout.iii, null);  
  4.             t.setView(vee);  
  5.             t.show();  


5.来自其它线程的Toast

[java] view plain copy
 
  1. Handler h=new Handler();  
  2. ///////////////////////////////////////////////////  
  3. new Thread(){  
  4.   
  5.                 @Override  
  6.                 public void run() {  
  7.                     showToast();  
  8.                 }  
  9.                   
  10.             }.start();  
  11. ////////////////////////////////////////////////////////  
  12. protected void showToast() {  
  13.         h.post(new Runnable(){  
  14.   
  15.             @Override  
  16.             public void run() {  
  17.                 Toast.makeText(getApplicationContext(), "come from other thread", Toast.LENGTH_SHORT).show();  
  18.             }  
  19.               
  20.         });  
  21.           
  22.     }  


来自其它线程的Toast我有一点要说明,h.post(Runnable r);这个方法里的run是在主线程的。

posted @ 2016-12-06 12:02  天涯海角路  阅读(98)  评论(0)    收藏  举报