Android控件——7種形式的Android Dialog使用舉例

在Android開發中,咱們常常會須要在Android界面上彈出一些對話框,好比詢問用戶或者讓用戶選擇。這些功能咱們叫它Android Dialog對話框,在咱們使用Android的過程當中,我概括了一下,Android Dialog的類型無非也就7種,下面我分別向你們介紹這7種Android Dialog對話框的使用方法,但願對你們能有所幫助。android

1.該效果是當按返回按鈕時彈出一個提示,來確保無誤操做,採用常見的對話框樣式。web

建立dialog對話框方法代碼以下:ide

?佈局

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
protected void dialog() {
    AlertDialog.Builder builder = new Builder(Main. this );
    builder.setMessage( "確認退出嗎?" );
    builder.setTitle( "提示" );
    builder.setPositiveButton( "確認" , new OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
      Main. this .finish();
     }
    });
    builder.setNegativeButton( "取消" , new OnClickListener() {
     @Override
     public void onClick(DialogInterface dialog, int which) {
      dialog.dismiss();
     }
    });
    builder.create().show();
   }

在onKeyDown(int keyCode, KeyEvent event)方法中調用此方法 
ui

?this

1
2
3
4
5
6
public boolean onKeyDown( int keyCode, KeyEvent event) {
    if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0 ) {
     dialog();
    }
    return false ;
   }

2.改變了對話框的圖表,添加了三個按鈕 spa

建立dialog的方法代碼以下:.net

?code

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
Dialog dialog = new AlertDialog.Builder( this ).setIcon(
       android.R.drawable.btn_star).setTitle( "喜愛調查" ).setMessage(
       "你喜歡李連杰的電影嗎?" ).setPositiveButton( "很喜歡" ,
       new OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
         // TODO Auto-generated method stub
         Toast.makeText(Main. this , "我很喜歡他的電影。" ,
           Toast.LENGTH_LONG).show();
        }
       }).setNegativeButton( "不喜歡" , new OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
       // TODO Auto-generated method stub
       Toast.makeText(Main. this , "我不喜歡他的電影。" , Toast.LENGTH_LONG)
         .show();
      }
     }).setNeutralButton( "通常" , new OnClickListener() {
      @Override
      public void onClick(DialogInterface dialog, int which) {
       // TODO Auto-generated method stub
       Toast.makeText(Main. this , "談不上喜歡不喜歡。" , Toast.LENGTH_LONG)
         .show();
      }
     }).create();
     dialog.show();

3.信息內容是一個簡單的View類型 orm

建立dialog方法的代碼以下:

?

1
2
3
4
new AlertDialog.Builder( this ).setTitle( "請輸入" ).setIcon(
       android.R.drawable.ic_dialog_info).setView(
       new EditText( this )).setPositiveButton( "肯定" , null )
       .setNegativeButton( "取消" , null ).show();

4.信息內容是一組單選框

建立dialog方法的代碼以下:

?

1
2
3
4
new AlertDialog.Builder( this ).setTitle( "複選框" ).setMultiChoiceItems(
       new String[] { "Item1" , "Item2" }, null , null )
       .setPositiveButton( "肯定" , null )
       .setNegativeButton( "取消" , null ).show();

5.信息內容是一組多選框

建立dialog方法的代碼以下:

?

1
2
3
4
5
6
7
8
new AlertDialog.Builder( this ).setTitle( "單選框" ).setIcon(
       android.R.drawable.ic_dialog_info).setSingleChoiceItems(
       new String[] { "Item1" , "Item2" }, 0 ,
       new DialogInterface.OnClickListener() {
        public void onClick(DialogInterface dialog, int which) {
         dialog.dismiss();
        }
       }).setNegativeButton( "取消" , null ).show();

6.信息內容是一組簡單列表項

建立dialog的方法代碼以下:

?

1
2
3
new AlertDialog.Builder( this ).setTitle( "列表框" ).setItems(
       new String[] { "Item1" , "Item2" }, null ).setNegativeButton(
       "肯定" , null ).show();

7.信息內容是一個自定義的佈局

dialog佈局文件代碼以下:

?

1
2
3
4
5
6
7
8
9
10
11
12
<? xml version = "1.0" encoding = "utf-8" ?>
 
  < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android"
   android:layout_height = "wrap_content" android:layout_width = "wrap_content"
   android:background = "#ffffffff" android:orientation = "horizontal"
   android:id = "@+id/dialog" >
   < TextView android:layout_height = "wrap_content"
     android:layout_width = "wrap_content"
    android:id = "@+id/tvname" android:text = "姓名:" />
   < EditText android:layout_height = "wrap_content"
    android:layout_width = "wrap_content" android:id = "@+id/etname" android:minWidth = "100dip" />
  </ LinearLayout >

建立dialog方法的代碼以下: 

?

1
2
3
4
5
6
LayoutInflater inflater = getLayoutInflater();
     View layout = inflater.inflate(R.layout.dialog,
       (ViewGroup) findViewById(R.id.dialog));
     new AlertDialog.Builder( this ).setTitle( "自定義佈局" ).setView(layout)
       .setPositiveButton( "肯定" , null )
       .setNegativeButton( "取消" , null ).show();

好了,以上7種Android dialog對話框的使用方法就介紹到這裏了,基本都全了,若是你們在android開發過程當中遇到dialog的時候就能夠拿出來看看。

相關文章
相關標籤/搜索