Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> Android開發實例 >> Android應用開發入門(三十四)通知之Toast

Android應用開發入門(三十四)通知之Toast

編輯:Android開發實例

前言

  這篇文章講解一下Android下的一個簡單信息提示的方式:Toast。如果一直看本系列的文章,會發現在之前的Demo中,一直有用到Toast去提示消息,在這篇文章中就專門講它。Toast提供一個浮動的簡單的小顯示塊,並且不影響任何其他操作,僅僅用於提示信息,並且會在超時後,自動消失。因為它的及時性已經自動消失的特性,不適合提示一些重要的信息,如果有重要的信息,可以使用Notification提示用,Notification之後會介紹。在本文中將講解Toast的常規使用,以及特殊的屬性、方法的使用,並且會說明如何使用Toast創建一個自定義的內容,並且最後會對以上講解的內容給出代碼示例。

Toast

  Toast是為了給當前視圖顯示一個浮動的顯示塊,它永遠不會活動焦點。一般用於提示一些不那麼引人注目,但是又希望用戶看見的消息,無需用戶自己維護它的消失。

  如果只是提示簡單的信息,使用Android為Toast提供的兩個靜態的方法最為方便,它們會返回一個Toast對象,如果需要顯示,只需要調用show()方法顯示即可,下面是這兩個方法的簽名:

  • static Toast makeText(Context context,int resId,int duration).
  • static Toast makeText(Context context,CharSequence text,int duration)

  上面兩個方法,參數大致相同,一個上下文對象Context,一個顯示的消息來源,一個設置持續時間。消息來源可以指定String資源,使用<string.../>標簽在XML資源文件中定義,還可以指定一個字符串用於消息展示。最後的duration參數設置了Toast的持續時間,一般使用Toast自帶的兩個整形的常量:LENGTH_LONG(1,時間稍長)、LENGTH_SHORT(0,時間稍短),針對不同的使用場景,選擇不用的持續時間。

  Toast消息的默認顯示位置在屏幕的中間偏下,Android也為開發者提供了方法設置Toast消息的位置,使用setGravity(int gravity, int xOffset, int yOffset)方法即可設置,它有三個參數,gravity設置一個重力方向,另外兩個設置水平和垂直方向的偏移量。

  示例:使用Toast提示一個簡單的消息,顯示在屏幕中間。

  1. btnToast1.setOnClickListener(new View.OnClickListener() {              
  2.             @Override 
  3.             public void onClick(View v) {  
  4.                 // TODO Auto-generated method stub  
  5.                 Toast toast=Toast.makeText(MainActivity.this,"Toast提示消息",Toast.LENGTH_SHORT    );  
  6.                 toast.setGravity(Gravity.CENTER, 0, 0);  
  7.                 toast.show();  
  8.             }  
  9.         }); 

  顯示效果:

自定義消息

  無論是從美觀的角度、還是用戶視覺體驗的角度,很多時候都不僅僅需要顯示一簡單的文本信息。如果需要顯示用戶自定義的消息,那麼需要就不能使用上面介紹的靜態方法來創建一個Toast對象,而是需要使用Toast的構造函數進行初始化,然後對相應的屬性進行設置。一般對於自定義布局的顯示,會使用XML定義好一個布局文件,這樣清晰明朗。

  步驟如下:

  1. 使用LayoutInflater.from(Context).inflate(int , ViewGroup)方法動態獲得需要顯示的View。
  2. 對View中的控件進行必要操作。
  3. 使用構造函數初始化Toast。
  4. 使用Toast.setView(View)進行設置。
  5. 最後使用show()方法展示Toast消息。

  下面通過一個示例展示自定義布局在Toast中的顯示:

  Toast消息的布局代碼:

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
  3.               android:id="@+id/toast_layout_root" 
  4.               android:orientation="horizontal" 
  5.               android:layout_width="fill_parent" 
  6.               android:layout_height="fill_parent" 
  7.               android:padding="8dp" 
  8.               android:background="#DAAA" 
  9.               > 
  10.     <ImageView android:src="@drawable/ic_launcher" 
  11.                android:layout_width="wrap_content" 
  12.                android:layout_height="wrap_content" 
  13.                android:layout_marginRight="8dp" 
  14.                /> 
  15.     <TextView android:id="@+id/text" 
  16.               android:layout_width="wrap_content" 
  17.               android:layout_height="wrap_content" 
  18.               android:textColor="#FFF" 
  19.               /> 
  20. </LinearLayout> 

  Toast消息的顯示代碼:

  1. btnCustomToast.setOnClickListener(new View.OnClickListener() {  
  2.               
  3.             @Override 
  4.             public void onClick(View v) {  
  5.                 View view=LayoutInflater.from(MainActivity.this).inflate(R.layout.toast_layout,null    );  
  6.                 TextView tv=(TextView)view.findViewById(R.id.text);  
  7.                 tv.setText("自定義提示Toast");  
  8.                 Toast toast=new Toast(MainActivity.this);  
  9.                 toast.setView(view);  
  10.                 toast.show();  
  11.                   
  12.             }  
  13.         }); 

 效果展示:

  源碼下載

總結

  以上就講解了Toast的使用,在Android中,Toast提示消息的方式會經常被用到,所以掌握它是有必要的,之後會介紹另外一種消息提示方式,Notification。

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved