對話框是程序運行中的彈出窗口。例如,當(dāng)用戶要刪除一個聯(lián)系方式時,會彈出一個
創(chuàng)新互聯(lián)成立與2013年,先為汪清等服務(wù)建站,汪清等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為汪清企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。對話框,讓用戶確認(rèn)是否真的要刪除。
Android系統(tǒng)提供了四種對話框:警告對話框 (AlertDialog)、進度對話框(ProgressDialog)、日期選擇對話框(DatePickerDialog)和時間選擇對話框(TimePickerDialog)
警告對話框(AlertDialog)
AlertDialog是一個提示窗口,要求用戶作出選擇。該對話框中一般會有幾個選擇按鈕、標(biāo)題信息和提示信息。
在程序中創(chuàng)建對話框需要如下步驟:
1、獲得 AlertDialog的靜態(tài)內(nèi)部類 Builder 對象,由該類來創(chuàng)建對話框。
2、通過 Buidler對象設(shè)置對話框的標(biāo)題、按鈕以及按鈕將要響應(yīng)的事件。
3、調(diào)用Builder的createO方法創(chuàng)建對話框。
4、調(diào)用AlertDialog的showO方法顯示對話框。
實例代碼如下:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView mytext=(TextView)this.findViewById(R.id.text1); final AlertDialog.Builder builder=new AlertDialog.Builder(this);//創(chuàng)建builder對象 Button btn1=(Button)this.findViewById(R.id.btn_main1); btn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub builder.setMessage("Are you sure!") .setPositiveButton("OK",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { // TODO Auto-generated method stub mytext.setText("success"); } }).setNegativeButton("CANCEL",new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { // TODO Auto-generated method stub mytext.setText("cancel"); } }); AlertDialog ad=builder.create(); ad.show(); } }); } }
效果如下,點擊按鍵后:
另一種對話框,如下代碼:
public class MainActivity extends Activity { private static final int menu1=Menu.FIRST; private static final int menu2=Menu.FIRST+1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); final TextView mytext=(TextView)this.findViewById(R.id.text1); final AlertDialog.Builder builder=new AlertDialog.Builder(this); final String[] message={"--------","*******","++++++++"}; Button btn1=(Button)this.findViewById(R.id.btn_main1); btn1.setOnClickListener(new OnClickListener() { @Override public void onClick(View arg0) { // TODO Auto-generated method stub //兩種不同風(fēng)格的對話框 builder.setTitle("Please choose...") .setSingleChoiceItems(message, -1, new DialogInterface.OnClickListener() { //.setItems(message,new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface arg0, int arg1) { // TODO Auto-generated method stub mytext.setText(message[arg1]); } }); AlertDialog ad=builder.create(); ad.show(); } }); } }
以上兩種模式如下圖:
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。