《Android》『Toast』- 快顯訊息元件的基本用法
《Android Developers 參考文獻》
《繼承架構》
extends Object
↳ android.widget.Toast
《簡單介紹》
『Toast』是在 Android 中,常用的一種快顯元件,它不會取得焦點(focus),通常被使用來告知使用者一些不需要反饋的即時訊息,像是電力不足、檔案已刪除…等,它會在被呼叫時透過淡進的方式顯示在螢幕上,並在顯示幾秒鐘以後,自己淡出消失,在程式開發的時候,我們亦可以拿來當作會顯示在螢幕上的 log 以監控各個狀態。
《宣告與使用方式》
利用 Toast 元件,我們可以提供純文字或是帶有圖案的訊息,它的用法很簡單,這邊直接利用程式碼片段,來說明其宣告與使用方式。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
package ... import ... public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //宣告 Toast 物件 Toast mToast = Toast.makeText(getApplicationContext(), "設定快顯訊息內容與顯示時間長度", Toast.LENGTH_LONG); mToast.setGravity(Gravity.CENTER, 0, 0);//設定 Toast 顯式的位置 mToast.setDuration(1000); //設定持續時間(毫秒) mToast.setMargin(0.5f, 0.6f); //設定水平、垂直方向的頁邊空白 . . . LinearLayout mLayoutToastView = new LinearLayout(getApplicationContext());//宣告一個 LinearLayout 布局 mLayoutToastView.setOrientation(LinearLayout.HORIZONTAL); //設定LinearLayout 的 Orientation 布局參數 ImageView mImageView = new ImageView(getApplicationContext()); //建立一個 ImageView 元件 mImage.setImageResource(R.drawable.icon); //設定 ImageView 的圖案 View toastView = mToast.getView(); //取得 mToast 的 View mLayoutToastView.addView(mImageView); //自訂 Toast View 的版面配置 mLayoutToastView.addView(toastView); //自訂 Toast View 的版面配置 mToast.setView(mLayoutToastView); //將設定好的 LinearLayout 指定給 mToast mToast.show(); //顯示 mToast 視圖於螢幕 } } |
一般我們常用的 Toast 元件方法為 makeText(),透過這個方法,我們可以很簡單地創造出一個帶有文字訊息的視圖,但若是我們想要自訂外觀呢?只要利用其中的 setView() 方法,將自訂的 View 元件傳入即可。
以下列出常用到的 Toast 元件方法 –
cancel()
取消顯示 Toast 視圖,一般不須呼叫,一段時間後 Toast 會自動消失。
setDuration()、getDuration()
設定、取得持續時間 (毫秒),系統提供了預設的兩種參數 LENGTH_LONG 與 LENGTH_SHORT。
setGravity()、getGravity()
設定、取得 Toast 視圖的顯示位置。
getXOffset()、getYOffset()
取得 Toast 視圖水平、垂直方向的偏移量。
setMargin()
設定水平、垂直方向的頁邊空白比。
getHorizontalMargin()、getVerticalMargin()
取得水平、垂直方向的頁邊空白比。
makeText()
產生一個包含文字的 Toast 物件,並同時設定文字內容與視圖持續時間。
setView()
設定 Toast 要顯示的 View 物件,透過這個方法,我們可以自訂 Toast 視圖,讓它不僅僅只有文字。
getView()
取得 Toast 的 View 物件。
臉書留言
一般留言