[Android] 使用Toast (訊息提示)

Android具有了兩種訊息提示的方法,分別是Toast與Notification。本篇是在介紹Toast的使用方式。

Android具有了兩種訊息提示的方法,分別是ToastNotification。本篇是在介紹Toast的使用方式。

Toast是一種快速反應的即時訊息,具有(1)位於應用程式畫面最上層以及(2)不會取得UI focus的兩個特性。Toast主要可以應用在反應使用者操作圖形介面的回饋,例如某些設定上的成功與否。另外個人認為利用Toast也可以作為一種在設計程式上debug手段,類似在寫c code時會利用printf的debug方式。(備註:由於本篇重點不在UI,因此以下省略關於介面的解說與UI的XML檔,有什麼問題或有需要的話,歡迎跟小弟討論或詢問。)

使用方法是透過Toast的靜態函式makeText來建立Toast物件,makeText的第二個參數可以接收字串也可以接收資源識別字(Resource ID),作為輸出畫面的content。Toast object產生後就可以利用show()將訊息顯示到螢幕上。

此外在Toast類別中定義了兩個重要的常數分別是LENGTH_LONG以及LENGTH_SHORT,可以讓我們用於設定toast的顯示duration長短(makeText的第三個參數)。

以下為程式碼範例:


package com.myToast;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;
import android.widget.Button;

public class ToastActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        Button btn = (Button)findViewById(R.id.btn);
        btn.setOnClickListener(new View.OnClickListener() {
			
			@Override
			public void onClick(View v) {
				//利用Toast的靜態函式makeText來建立Toast物件
				Toast toast = Toast.makeText(ToastActivity.this, 
						"Hello world!", Toast.LENGTH_LONG);
				//顯示Toast
				toast.show();
			}
		});
    }
}

 

顯示的效果如下: