Android訊息提示框和對話方塊

來源:互聯網
上載者:User

在某些情況下需要向使用者彈出提示訊息,如顯示錯誤資訊,收到短訊息等,Android提供兩種彈出訊息的方式,訊息提示框toasts和對話方塊alerts。

 

Toast是一種短暫的訊息提示,顯示一段時間後不需要使用者互動會自動消失,所以用來顯示一些建議性的不太重要的訊息,如提示使用者後台一個任務完成了。

使用Toast來彈出提示訊息也很簡單,調用Toast類的靜態方法makeText():

 

public static Toast makeText (Context context, CharSequence text, int duration)

context: 調用的上下文,通常為Application或Activity對象

text: 顯示的訊息

duration: 顯示的時間長短,為 Toast.LENGTH_LONG或Toast.LENGTH_SHORT

 

如可以這樣調用:Toast.makeText(this, "Deleted Successfully!", Toast.LENGTH_LONG).show(); 效果如下:

 

 

AlertDialog類似於傳統的強制回應對話方塊,需要與使用者互動後才會關閉。

最簡單的建立AlertDialog對話方塊的方法是使用AlertDialog的嵌套類Builder,它有下面幾個主要的方法:

 

setMessage(): 設定顯示的訊息內容

setTitle() 和setIcon(): 設定對話方塊的標題列的文字和表徵圖

setPositiveButton(), setNeutralButton()和setNegativeButton(): 設定對話方塊的按鈕,包括按鈕顯示的文字,按鈕點擊的事件

setView(): 設定對話方塊顯示一個自訂的視圖

 

自訂視圖addemployee.xml代碼如下, 需要注意的是布局檔案的名稱只能包含“a-z0-9_.”,不然就會報這樣的錯誤:“Invalid file name: must contain only [a-z0-9_.]”

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent" android:layout_height="fill_parent"android:orientation="vertical"><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content" android:orientation="horizontal"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Name:" /><EditText android:layout_width="fill_parent"android:layout_height="wrap_content" android:id="@+id/editName"></EditText></LinearLayout><LinearLayout android:layout_width="fill_parent"android:layout_height="wrap_content" android:orientation="horizontal"><TextView android:layout_width="wrap_content"android:layout_height="wrap_content" android:text="Age:"></TextView><EditText android:layout_width="fill_parent"android:layout_height="wrap_content" android:id="@+id/editAge" android:inputType="number"></EditText></LinearLayout></LinearLayout>

 

產生對話方塊的代碼如下所示:

             LayoutInflater layoutInflater = LayoutInflater.from(this);     viewAddEmployee = layoutInflater.inflate(R.layout.addemployee, null);     new AlertDialog.Builder(this).setTitle("Add Employee").setView(viewAddEmployee).setPositiveButton("OK",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {insertEmployee();}}).setNegativeButton("Cancel",new DialogInterface.OnClickListener() {@Overridepublic void onClick(DialogInterface dialog, int which) {}}).show();
 

這裡先載入了一個自訂的視圖, 並通過setView()設定對話方塊顯示這個自訂視圖, 並添加了兩個按鈕和相應的點擊事件, 運行效果如下:

 

 

希望本文對您有所協助。

 

參考書籍:Beginning Android 2 和Android官方文檔

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.