Android學習筆記(三十):彈出資訊-Toast和警示

來源:互聯網
上載者:User

Android提供兩個常用的訊息彈出框,Toast和Alert。

Toast

Toast是一種短暫的提示框,並不需要使用者互動,也不會將focus移過來,因此可以適合大多數的情境,向使用者進行資訊提示。在之前的學習中,已經多次使用到Toast了。

建立一個Toast很簡單,使用靜態方法makeText(Context context, CharSequence text | int resId, int duration),將String(或者String的ID),以及顯示的時間長短(LENGTH_SHORT或者LENGTH_LONG)就可以得到一個Toast的對象。

上面是最常用的方式,但是如果要顯示成其他的view,而不僅僅是text,可以使用Toast的建構函式Toast(Context context),然後使用setView()設定所顯示的view,通過setDuration()設定顯示時間即可。

如果我們需要顯示Toast,只要調用show()的方法即可。例如:

Toast.makeText(this,"<clink, clink>", Toast.LENGTH_SHORT).show();

Alert

傳統的方式,是dialog box的形式,需採用AlertDialog,當一個警告框彈出之後,將獲得focus,必須由使用者來關閉它,用於顯示重要的錯誤或者事件,必須確保使用者知曉的情境或者一些驗證的資訊。

最容易的警告框通過AlertDialog.Builder類來建立,可以依次調用setMessage()設定顯示常值內容,setTitle(),setIcon(),以及設定下面的按鈕setPositiveButton(),
setNeutralButton(),
setNegativeButton(), 這幾個button具體和名字沒有什麼關聯,只是表明依次的位置隨左中右,並且最多顯示三個按鍵,我們需要設定這些按鍵的顯示內容和點擊觸發的處理。最後調用show()方法,將其顯示。

如果我們需要先建立builder對象,然後進行配置,最後再顯示,可以先使用create(),然後設定上述內容,最後調用show()。一旦show()調用,則一直等等使用者的處理。

下面是一個警告框的顯樣本子,我們對警示框的內容依次設定:

new AlertDialog.Builder(this)
    .setTitle("Alerting Message")
    .setMessage("eek!")
    .setNegativeButton("Close", new DialogInterface.OnClickListener() {   
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //do nothing - it will close on its own
        }
     })
   .show();

在查看參考的時候,對於AlertDialog.Builder可以設定setItems(),以及setMultiChoiceItems()和setSingleChoiceItems(),下面是一個例子:

new AlertDialog.Builder(this)
    .setTitle("Select one :")
    .setSingleChoiceItems(R.array.colors, 1, new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            //do nothing - it will close on its own      
         
        }
    })
    .show();

相關連結:我的Andriod開發相關文章

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.