1. 程式人生 > >android Toast五種酷炫樣式

android Toast五種酷炫樣式

在寫Toast之前我們應該需要了解下 Toast是幹什麼的 或者說他是用來完成那些事情的,為了便於大家理解呢,我以我自己理解的程度來給大家舉例子 Toast 英語是 “吐司”的意思,但是為什麼要將它取這個名字我不是很理解,現在我說下我理解的toast 的用途,我們可以將 toast理解成為一種通知,也就是我們在操作 Android  之後 Android系統反饋給我們的資訊,或者資料!

我們將toast理解為是一種通知,下面的樣式我們就可以理解為不同形式的通知了,例如有的通知就是一張白紙然後上面的黑字,還有的或許就華麗些了,採用的是 彩紙 和 彩筆 後來更華麗了,那我估計就應該是 “請柬” 這種樣子了!可以做到 圖文並茂的效果了!

下面讓我們一起來看看這些 “通知單”的效果!

 

Toast用於向用戶顯示一些幫助/提示。下面我做了5中效果,來說明Toast的強大,定義一個屬於你自己的Toast。

1.預設效果

程式碼:

[java]  view plain  copy  print ?
  1. Toast.makeText(getApplicationContext(), "預設Toast樣式"
    ,   
  2. Toast.LENGTH_SHORT).show();  

 

2.自定義顯示位置效果

 

程式碼

[java]  view plain  copy  print ?
  1. toast = Toast.makeText(getApplicationContext(),
    "自定義位置Toast", Toast.LENGTH_LONG);  
  2. toast.setGravity(Gravity.CENTER, 00);   
  3. toast.show();  


 

3.帶圖片效果

 

程式碼

[java]  view plain  copy  print ?
  1. toast = Toast.makeText(getApplicationContext(),  
  2.      "帶圖片的Toast", Toast.LENGTH_LONG);  
  3.    toast.setGravity(Gravity.CENTER, 00);  
  4.    LinearLayout toastView = (LinearLayout) toast.getView();  
  5.    ImageView imageCodeProject = new ImageView(getApplicationContext());  
  6.    imageCodeProject.setImageResource(R.drawable.icon);  
  7.    toastView.addView(imageCodeProject, 0);  
  8.    toast.show();  


 

4.完全自定義效果

程式碼:

[java]  view plain  copy  print ?
  1. LayoutInflater inflater = getLayoutInflater();  
  2.    View layout = inflater.inflate(R.layout.custom,  
  3.      (ViewGroup) findViewById(R.id.llToast));  
  4.    ImageView image = (ImageView) layout  
  5.      .findViewById(R.id.tvImageToast);  
  6.    image.setImageResource(R.drawable.icon);  
  7.    TextView title = (TextView) layout.findViewById(R.id.tvTitleToast);  
  8.    title.setText("Attention");  
  9.    TextView text = (TextView) layout.findViewById(R.id.tvTextToast);  
  10.    text.setText("完全自定義Toast");  
  11.    toast = new Toast(getApplicationContext());  
  12.    toast.setGravity(Gravity.RIGHT | Gravity.TOP, 1240);  
  13.    toast.setDuration(Toast.LENGTH_LONG);  
  14.    toast.setView(layout);  
  15.    toast.show();  


 

5.其他執行緒

程式碼

[java]  view plain  copy  print ?
  1. new Thread(new Runnable() {  
  2.     public void run() {  
  3.      showToast();  
  4.     }  
  5.    }).start();  


 

 

完整程式碼

java  Activity 程式程式碼:

1.Main,java

[java]  view plain  copy  print ?
  1. package com.wjq.toast;  
  2.   
  3. import android.app.Activity;  
  4. import android.os.Bundle;  
  5. import android.os.Handler;  
  6. import android.view.Gravity;  
  7. import android.view.LayoutInflater;  
  8. import android.view.View;  
  9. import android.view.ViewGroup;  
  10. import android.view.View.OnClickListener;  
  11. import android.widget.ImageView;  
  12. import android.widget.LinearLayout;  
  13. import android.widget.TextView;  
  14. import android.widget.Toast;  
  15.   
  16. public class Main extends Activity implements OnClickListener {  
  17.  Handler handler = new Handler();  
  18.   
  19.  @Override  
  20.  public void onCreate(Bundle savedInstanceState) {  
  21.   super.onCreate(savedInstanceState);  
  22.   setContentView(R.layout.main);  
  23.   
  24.   findViewById(R.id.btnSimpleToast).setOnClickListener(this);  
  25.   findViewById(R.id.btnSimpleToastWithCustomPosition).setOnClickListener(  
  26.     this);  
  27.   findViewById(R.id.btnSimpleToastWithImage).setOnClickListener(this);  
  28.   findViewById(R.id.btnCustomToast).setOnClickListener(this);  
  29.   findViewById(R.id.btnRunToastFromOtherThread).setOnClickListener(this);  
  30.   
  31.  }  
  32.   
  33.  public void showToast() {  
  34.   handler.post(new Runnable() {  
  35.   
  36.    @Override  
  37.    public void run() {  
  38.     Toast.makeText(getApplicationContext(), "我來自其他執行緒!",  
  39.       Toast.LENGTH_SHORT).show();  
  40.   
  41.    }  
  42.   });  
  43.  }  
  44.   
  45.  @Override  
  46.  public void onClick(View v) {  
  47.   Toast toast = null;  
  48.   switch (v.getId()) {  
  49.   case R.id.btnSimpleToast:  
  50.    Toast.makeText(getApplicationContext(), "預設Toast樣式",  
  51.      Toast.LENGTH_SHORT).show();  
  52.    break;  
  53.   case R.id.btnSimpleToastWithCustomPosition:  
  54.    toast = Toast.makeText(getApplicationContext(),  
  55.      "自定義位置Toast", Toast.LENGTH_LONG);  
  56.    toast.setGravity(Gravity.CENTER, 00);  
  57.    toast.show();  
  58.    break;  
  59.   case R.id.btnSimpleToastWithImage:  
  60.    toast = Toast.makeText(getApplicationContext(),  
  61.      "帶圖片的Toast", Toast.LENGTH_LONG);  
  62.    toast.setGravity(Gravity.CENTER, 00);  
  63.    LinearLayout toastView = (LinearLayout) toast.getView();  
  64.    ImageView imageCodeProject = new ImageView(getApplicationContext());  
  65.    imageCodeProject.setImageResource(R.drawable.icon);  
  66.    toastView.addView(imageCodeProject, 0);  
  67. &nbs